What framework for MVVM should I use?

Viewed 72366

I am developing an application with the MVVM model, but I have reached a point where I need to choose which framework to use.

Among the possible options are:

  • MVVM Toolkit
  • MVVM Foundation
  • WPF Application Framework (WAF)
  • Light MVVM
  • Caliburn
  • Cinch
  • Prism
  • ReactiveUI

In your experience, which is better?

13 Answers

Meh. Mvvm doesn't really require an entire framework to support IMO. If you understand the concept, it's pretty straightforward to start off with a clean VM baseclass that implements INotify, and just go from there.

my bet will be on Caliburn and MVVMlight, it seems that not many of these mvvm frameworks support silverlight. I can foresee that there will be more MVVM frameworks to choose from than the IoC frameworks, because it is harder to set up the feature boundary to the mvvm framework. I guess the best way to find out which one is better suit your project will be by listing/comparing their features.

Also check out Mix10. I learn a lot from the talk : building your mvvm framework.

I'm using Prism and like it. One of the big things for me was that there would be other people out there who could help me if needed and good examples. Once you get the basics running, there are a whole bunch of extensions you'll need for your app and it is just so much easier when you're working with the same framework as others.

Another one to consider is MEFedMVVM. I've used it on a couple of projects and it's lightweight, non-intrusive and supports Silverlight and WPF. It's also able to support design-time data in Blend, for those who use that product.

Related