As you know I recently joined a big name in Mobile Money business as a Senior Windows Developer. Part of that job involves working with others and not just doing WP Dev as a hobbyist (which I still do).
Most WP Devs are inherently XAML devs and they are well versed in MVVM (Model-View-View Model not necessarily in that order). MVVM itself is an extension of MVP (Model View Presenter) which to an extent has similarities to MVC (Model View Controller). Microsoft in .NET 2.0 started extensive work (crusade) against code behind. The idea that has been propagated has been to write less code – its more declarative and less code driven. (Use the system generated code since you are no good at it :))
Personally I have never been a fan of declarative code. I do like XAML but only the extensible nature of it. how I just about use / contain and create controls with ease. Historically I am a middle-tier / server-side developer who loves not worrying about UI BS. I have spend years making code lean and that means adding layers that do little isn’t my cuppa tea.
However I am developing my next hobbyist app using MVVM. The next few blogs are doing to deal with my experiences moving from code driven to MVVM driven app development.
Before we get started just want to mention the fact that if I wasn’t doing the app in MVVM, I would have already finished it. Right now I am still doing XAML screens and battling myself almost constantly.