Devlico.Us
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @devlicious

Christopher Bennage

Our WPF book is now available!


Building a WPF Application: Part 0

In a rather indirect way, I was inspired by a commenter on one of Scott Hanselman's posts to begin a series that walks through building a WPF application from start to finish. We did this for four different applications in our book, but those where targeted to demonstrate particular facets of WPF whereas in these (yet unwritten) posts I'd like to focus more on "this is how I build my WPF apps". Not to say that my way is the *right way*, but so that we might learn together. In the spirit of the aforementioned post, I'm bound to make mistakes, so please (gently) correct me when you think you see one.

What to build?

You might not have noticed, but there's quite a bit of .NET chatter in twit-space. There are already lots of Twitter clients, and some are WPF, so that path has been rigorously trod. However, the technical difficulties surrounding Twitter has given rise to the popularity of another mash up web 2.0 thingy app called FriendFeed.  Everyone seems to agree that the web interface for FriendFeed is all stinky bad, and there's an API readily available, so I think a FriendFeed client is in order.

ff_logo Briefly, FriendFeed is a way to consolidate all of your creepy Internet voyeurism in one spot. You can track a friend's Flickr account, NetFlix queue, Amazon wishlist, and yes, their Twitter tweets and much, much more. Oh yeah, and you can subscribe to me here. (I'm such a loser.)

What to do?

I'm not going to set an agenda or outline a detailed plan. I'm just going to post as I have time to work on it. I started tonight, so I'm expecting to have a real Part 1 posted by midweek. I've already set up a project at CodePlex (though it won't be published for a few more days still.) I named it ChumChase. Isn't that great?

Part of my plan is to step you through my thinking and decision making process in sort of Nilssonian way. I've only just begun but here's what I can tell you so far.

  • I'm going to use a Model-View-Presenter pattern
  • Expect to see some DDD artifacts.
  • I'm going to use NUnit and RhinoMocks.
  • I'll probably use Windsor too (or maybe StructureMap though, anybody have a preference?)

I had intended to write a set of user stories  using the issue tracker of CodePlex. However, I got tired of retyping them every time the site errorred out, which was about 60% of the time. (Is that typical for the CodePlex issue tracker? This was my first usage.)  It also occurred to me that I am lazy and ought to have a life outside of coding, so sorry no user stories.

What to think?

I'm all about conversation. If this interests you, please let me know. I welcome (friendly) criticisms as well. The more I hear, the more motivated I'll be to do it. (Believe me there's a lot to distract right now. I had a new baby son born on the 10th.)

Continue to Part 1



Comments

Dew Drop - July 21, 2008 | Alvin Ashcraft's Morning Dew said:

Pingback from  Dew Drop - July 21, 2008 | Alvin Ashcraft's Morning Dew

# July 21, 2008 8:03 AM

Jon said:

I think it sounds like an awesome idea. In my (admittedly limited) experience I've gotten WPF info that takes one of two tracks: 1) I'm going to assume you know nothing about WPF and I'm going to show you the absolute beginnings. Look! This XML looking stuff, it's called XAML. Oooh! 2) I'm a WPF master and I'm going to wow you with my obscenely awesome, WPF ninja abilities. Bow before me! It would be nice to have something in between for those of us who aren't just starting but who aren't ninja-awesome either.
# July 21, 2008 9:14 AM

Brett Veenstra said:

Sounds like a great demo. Looking forward to seeing a TDD approach with a WPF UI motif.
# July 21, 2008 1:25 PM

Alan Le said:

Friendfeed is my current obsession. I've pretty much abandoned Witty. Lots of patches and stuff but I'm not motivated to do anything with Twitter atm. This project sounds interesting. I'll keep an eye out for your progress.
# July 21, 2008 3:12 PM

Rene Rendon said:

I'm interested in seeing and would appreciate the effort. Still being new to DDD, more samples and WPF would be great.
# July 22, 2008 12:14 PM

Ludovic said:

Cool, I'll be following your posts closely, as I've started writing WPF applications, and I still have to figure lots of things out. In case it's of any use to you, I also blogged a bit on the subject: http://ludovic.chabant.com/devblog/category/WPF.aspx
# July 22, 2008 10:25 PM

Community Blogs said:

Part 0 Part 1 Part 2 Application Architecture I'm going to back up a bit discuss my overall approach

# August 20, 2008 1:25 AM

WPF Related Links « QuantuMatrix’s Weblog said:

Pingback from  WPF Related Links « QuantuMatrix’s Weblog

# August 22, 2008 12:41 PM

About Christopher Bennage

Christopher is a software developer and consultant at Blue Spire Consulting, a company he co-founded with Rob Eisenberg in 2006. He is a Christian, a marginal musician, and an armchair philosopher. His interests include programming, liberal education, science, truth, beauty, and a number of deceased British authors (C. S. Lewis, G. K. Chesterton, and most recently Owen Barfield.) He lives in Tallahassee, FL with his wife and three children and still prefers to play as the Night Elves in WarCraft 3. Check out Devlicio.us!

Our Sponsors

Red-Gate!