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:
Definition |
Explanation |
VM |
View-Model |
This comparison sheet is last updated on September 4th, 2012
Framework |
Description |
Website |
Catel |
Catel 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 controls |
http://catel.codeplex.com |
Caliburn.Micro |
A 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 light |
The 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 toolkit |
Simple 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/ |
WAF |
The 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/ |
|
Catel |
Caliburn.Micro |
Cinch (V2) |
MVVM light |
Simple MVVM |
WAF |
WPF |
|
|
|
|
|
|
Silverlight 4 |
|
|
|
|
|
|
Silverlight 5 |
|
|
|
|
|
|
Windows Phone 7 |
|
|
|
|
|
|
Windows Phone 8 |
|
|
|
|
|
|
WinRT |
|
|
|
|
|
|
Available via NuGet |
|
|
|
|
|
|
|
Catel |
Caliburn.Micro |
Cinch (V2) |
MVVM light |
Simple MVVM |
WAF |
MVVM specific window |
|
|
|
|
|
|
MVVM specific user control |
|
|
|
|
|
|
Dynamic view model injection |
|
|
|
|
|
|
Lazy loading of view models |
|
|
|
|
|
|
Control to VM communication via attributes |
|
|
|
|
|
|
Events when views are actually loaded |
|
|
|
|
|
|
|
Catel |
Caliburn.Micro |
Cinch (V2) |
MVVM light |
Simple MVVM |
WAF |
INotifyPropertyChanged |
|
|
|
|
|
|
IDataErrorInfo |
|
|
|
|
|
|
IDataWarningInfo |
|
|
|
|
|
|
Support for canceling data |
|
|
|
|
|
|
Support for confirming data |
|
|
|
|
|
|
Automatic property definitions |
|
|
|
|
|
|
Automatic model communication (mappings) |
|
|
|
|
|
|
|
Catel |
Caliburn.Micro |
Cinch (V2) |
MVVM light |
SimpleMVVM |
WAF |
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 |
|
|
|
|
|
|
|
Catel |
Caliburn.Micro |
Cinch (V2) |
MVVM light |
SimpleMVVM |
WAF |
IMessage(Box)Service |
|
|
|
|
|
|
INavigationService |
|
|
|
|
|
|
IOpenFileService |
|
|
|
|
|
|
IPleaseWaitService |
|
|
|
|
|
|
IProcessService |
|
|
|
|
|
|
ISaveFileService |
|
|
|
|
|
|
IUIVisualizerService |
|
|
|
|
|
|
Unit test versions of services |
|
|
|
|
|
|
|
Catel |
Caliburn.Micro |
Cinch (V2) |
MVVM light |
SimpleMVVM |
WAF |
IAccelerometerService |
|
|
|
|
|
|
ICameraService |
|
|
|
|
|
|
ICompassService |
|
|
|
|
|
|
IGyroscopeService |
|
|
|
|
|
|
ILocationService |
|
|
|
|
|
|
INavigationService |
|
|
|
|
|
|
IVibrateService |
|
|
|
|
|
|