MVVM framework comparison sheet

In this MVVM framework comparison sheet includes as many aspects as possible. However, it might be possible that some were missed. If you have features that are not included in the comparison sheet, or you find that information is incorrect, please let us know!

Below is short list of definitions:

DefinitionExplanation
VMView-Model

This comparison sheet is last updated on September 4th, 2012

Frameworks reviewed

FrameworkDescriptionWebsite
CatelCatel is more than just an MVVM toolkit. It also includes user controls and lots of enterprise library classes. The MVVM toolkit differs itself from other frameworks of the simplicity and solves the "nested user control" problem with dynamic viewmodels for user controlshttp://catel.codeplex.com
Caliburn.MicroA small, yet powerful implementation of Caliburn designed for WPF, Silverlight and WP7. The framework implements a variety of UI patterns for solving real-world problems. Patterns that are enabled include MVC, MVP, Presentation Model (MVVM), and Application Controller.http://caliburnmicro.codeplex.com
Cinch (V2)Cinch is a MVVM framework that exposes a number of helper classes to allow the developer to quickly get to grips with creating scalable testable MVVM frameworks as quickly as possible.http://cinch.codeplex.com
MVVM lightThe MVVM Light Toolkit is a set of components helping people to get started in the Model - View - ViewModel pattern in Silverlight and WPF. It is a light and pragmatic framework that contains only the essential components needed.http://mvvmlight.codeplex.com
Simple MVVM toolkitSimple MVVM Toolkit makes it easier to develop Silverlight, WPF and WP7 applications using the Model-View-ViewModel design pattern. The purpose of the toolkit is to provide a simple framework and set of tools for getting up to speed quickly with applications based on the MVVM design pattern. The emphasis is on simplicity, but it contains everything you need to implement MVVM for real-world line of business applications.http://simplemvvmtoolkit.codeplex.com/
WAFThe WPF Application Framework (WAF) is a lightweight Framework that helps you to create well structured WPF Applications. It supports you in applying a Layered Architecture and the Model-View-ViewModel (aka MVVM, M-V-VM, PresentationModel) pattern.http://waf.codeplex.com/


Platform support 

 CatelCaliburn.MicroCinch (V2)MVVM lightSimple MVVMWAF
WPF
Silverlight 4
Silverlight 5
Windows Phone 7
Windows Phone 8
WinRT
Available via NuGet

UI features

 CatelCaliburn.MicroCinch (V2)MVVM lightSimple MVVMWAF
MVVM specific window
MVVM specific user control
Dynamic view model injection
Lazy loading of view models
View to VM communication via attributes
Events when views are actually loaded

ViewModelBase functionality

 CatelCaliburn.MicroCinch (V2)MVVM lightSimple MVVMWAF
INotifyPropertyChanged
IDataErrorInfo
IDataWarningInfo
Support for canceling data
Support for confirming data
Automatic property definitions
Automatic model communications (mappings)

Generate features

 CatelCaliburn.MicroCinch (V2)MVVM lightSimple MVVMWAF
Communication with other VM via messenger
Communication with other VM via attributes
RelayCommand / DelegateCommand
EventToCommand trigger
IoC container support
Unity support
MEF support
Background task manager
ViewModelManager with live VM instances
Project and item templates
Design time example data support
Memento pattern

View model services

 CatelCaliburn.MicroCinch (V2)MVVM lightSimple MVVMWAF
IMessage(Box)Service
INavigationService
IOpenFileService
IPleaseWaitService
IProcessService
ISaveFileService
IUIVisualizerservice
Unit test versions of services

Windows Phone specific view model services

 CatelCaliburn.MicroCinch (V2)MVVM lightSimple MVVMWAF
IAccelerometerService
ICameraService
ICompassService
IGyroscopeService
ILocationService
INavigationService
IVibrateService