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:

Definition

Explanation

VM

View-Model

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

Frameworks reviewed

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/

Platform support

 

Catel

Caliburn.Micro

Cinch (V2)

MVVM light

Simple MVVM

WAF

WPF

supported

supported

supported

supported

supported

supported

Silverlight 4

supported

supported

supported

supported

supported

supported

Silverlight 5

supported

supported

supported

supported

supported

supported

Windows Phone 7

supported

supported

notsupported

supported

supported

notsupported

Windows Phone 8

unknown

unknown

unknown

unknown

unknown

unknown

WinRT

unknown

unknown

unknown

unknown

unknown

unknown

Available via NuGet

supported

supported

supported

supported

supported

notsupported

UI features

 

Catel

Caliburn.Micro

Cinch (V2)

MVVM light

Simple MVVM

WAF

MVVM specific window

supported

notsupported

notsupported

notsupported

notsupported

notsupported

MVVM specific user control

supported

notsupported

notsupported

notsupported

notsupported

notsupported

Dynamic view model injection

supported

notsupported

notsupported

notsupported

notsupported

notsupported

Lazy loading of view models

supported

notsupported

notsupported

notsupported

notsupported

notsupported

Control to VM communication via attributes

supported

notsupported

notsupported

notsupported

notsupported

notsupported

Events when views are actually loaded

supported

notsupported

notsupported

notsupported

notsupported

notsupported

ViewModelBase functionality

 

Catel

Caliburn.Micro

Cinch (V2)

MVVM light

Simple MVVM

WAF

INotifyPropertyChanged

supported

supported

supported

supported

supported

supported

IDataErrorInfo

supported

notsupported

notsupported

notsupported

supported

supported

IDataWarningInfo

supported

notsupported

notsupported

notsupported

notsupported

notsupported

Support for canceling data

supported

notsupported

notsupported

notsupported

supported

notsupported

Support for confirming data

supported

notsupported

notsupported

notsupported

supported

notsupported

Automatic property definitions

supported

supported

notsupported

notsupported

notsupported

notsupported

Automatic model communication (mappings)

supported

supported

notsupported

notsupported

notsupported

notsupported

General features

 

Catel

Caliburn.Micro

Cinch (V2)

MVVM light

SimpleMVVM

WAF

Communication with other VM via messenger

supported

supported

supported

supported

supported

notsupported

Communication with other VM via attributes

supported

notsupported

notsupported

notsupported

notsupported

notsupported

RelayCommand / DelegateCommand

supported

supported

supported

supported

supported

supported

EventToCommand trigger

supported

supported

supported

supported

supported

supported

IoC container support

supported

supported

notsupported

supported

supported

supported

Unity support

supported

notsupported

notsupported

notsupported

notsupported

notsupported

MEF support

supported

supported

supported

notsupported

supported

supported

Background task manager

notsupported

notsupported

supported

notsupported

notsupported

notsupported

ViewModelManager with live VM instances

supported

notsupported

notsupported

notsupported

notsupported

notsupported

Project and item templates

supported

supported

notsupported

supported

supported

notsupported

Design time example data support

supported

supported

supported

supported

supported

notsupported

Memento pattern

supported

notsupported

notsupported

notsupported

notsupported

notsupported

View model services

 

Catel

Caliburn.Micro

Cinch (V2)

MVVM light

SimpleMVVM

WAF

IMessage(Box)Service

supported

supported

supported

supported

notsupported

supported

INavigationService

supported

supported

notsupported

notsupported

notsupported

notsupported

IOpenFileService

supported

notsupported

supported

notsupported

notsupported

supported

IPleaseWaitService

supported

supported

notsupported

notsupported

notsupported

notsupported

IProcessService

supported

notsupported

notsupported

notsupported

notsupported

notsupported

ISaveFileService

supported

notsupported

supported

notsupported

notsupported

supported

IUIVisualizerService

supported

supported

supported

supported

notsupported

notsupported

Unit test versions of services

supported

notsupported

supported

supported

notsupported

notsupported

Windows Phone specific view model services

 

Catel

Caliburn.Micro

Cinch (V2)

MVVM light

SimpleMVVM

WAF

IAccelerometerService

supported

notsupported

notsupported

notsupported

notsupported

notsupported

ICameraService

supported

notsupported

notsupported

notsupported

notsupported

notsupported

ICompassService

supported

notsupported

notsupported

notsupported

notsupported

notsupported

IGyroscopeService

supported

notsupported

notsupported

notsupported

notsupported

notsupported

ILocationService

supported

notsupported

notsupported

notsupported

notsupported

notsupported

INavigationService

supported

supported

notsupported

supported

supported

notsupported

IVibrateService

supported

supported

notsupported

notsupported

notsupported

notsupported

Created with Help & Manual 6 and styled with Premium Pack 2.0