OK, so in the last series of posts that I did I built a really simple windows phone app. That was a good opportunity for me to get comfortable developing for the phone, work with the tools a little and get a feel for working with the phone but lets be honest; The app was not something that I would submit to the Marketplace. The architecture (if you can call it that) was really bad. I had everything tightly coupled together in abig blob of code. Looking at that app, I can envision the pain I would have to go through to make changes if I was to develop an app like that and release it.
So, with that experience under my belt, its time to move on to the next app….and I may even release this one into the Marketplace.
The next app is going to be a simple weather tracking application. You put in whatever cities you want to track the weather for and it makes calls over the wire to get the weather info. Easy Peasy.
While the concept is simple, I’m going to apply some good design principles and make sure that my architecture doesn’t resemble anything like the “one big blob” approach. Some of the stuff that Ill be using includes:
WP7 Contrib – this is a great open source project that I found out about via a video over on channel9. It was created by a guy over in UK – Richard Griffin. I’m sure there was more than one person working on it and I extend my thanks to you all. One of the features that I really like about this project is that the creators used Reactive Extensions (otherwise known as Rx) . If you’re not familiar with Rx, its really slick. It essentially takes a standard Enumerable and converts it to an IObservable. Once you have the Observable, you can subscribe to it to receive a sequence of events using IObserver<T>. Its been called “LINQ to Events” by some. I first heard about it from Scott Hanselman on his Hanselminutes podcast back in February of 2010 when he sat down with Erik Meijer. Its slick, check it out.
FUNQ – Another great open source project…used for dependency injection
MVVMLight – And yet another great open source project. This is a great framework for implementing MVVM in your WP7/Silverlight/WPF apps. If you’re not familiar with MVVMLight, here are a couple of good videos:
Understanding the MVVM Pattern (MIX10 session)
Deep Dive MVVM (MIX11 session)
Stay tuned, Ill be posting more about the app as I go along.
Thanks for visiting.