Saturday, November 19, 2011

MonoCross - a different kind of WP7 project approach

Just thought I'd drop a note about MonoCross. The first Wp7 code was only made available this week and so I've only had a few days to play with it. So far I'm finding it fascinating as an alternative way of thinking about how to construct an app.

I know not everyone is doing multiplatform... and I'm already finding that MonoCross gets in the way of some MVVM and data binding stuff, but I'm also finding that there are some very interesting parts to the way MX approaches development - in particular:

  • MX splits the Model and Controller out into one class library, then puts the Views into the app project
  • MX Views are ultimately PhoneApplicationPage's but you inherit via an MXView<TModel> class - it's quite nice that this means you always get a Model to use
  • The navigation framework intercepts the calls to "routes" like "{Controller}/{Action}/{Id}" - so you no longer have to navigate to urls like "Views/EditThing.xaml?ThingId=12" and the navigation framework also takes care of the Model creation/selection for you.

There's plenty of "rough parts" in there - plenty that will get done differently in the future (e.g. there are static class and static member variables everywhere - Mx desparately needs an injection of IoC) and I'm not sure how blendable this approach is - but overall it's very interesting to see an application structured differently - something other than yet another Mvvm platform.

If you're interested, check it out on


P.S. Just in case you were wondering - I've nothing to do with the MX project - it's got some sort of book publisher behind it. I'm just one of the first 1.0 users (I think!)

No comments:

Post a Comment