Explicitcoder

Divyang's ICollection

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

Frameworks reviewed

Framework
Description
Website
Catel
Catel is more than just an MVVM framework. It also includes user controls and lots of enterprise library classes. The MVVM framework differs itself from other frameworks of the simplicity and solves the “nested user control” problem with dynamic viewmodels for user controls.
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.
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.
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.

 

Platform support

Catel
Caliburn.Micro
Cinch (V2)
MVVM light
WPF support
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\yes.png
Silverlight support
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\yes.png
Windows Phone 7 support
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\yes.png
Available via NuGet
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\yes.png

ViewModelBase functionality

Catel
Caliburn.Micro
Cinch (V2)
MVVM light
INotifyPropertyChanged
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\yes.png
IDataErrorInfo
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\yes.png
IWarningErrorInfo
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png
Support for canceling data
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png
Support for confirming data
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png
Automatic property definitions
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png
Automatic model communication (mappings)
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png

View model services

Catel
Caliburn.Micro
Cinch (V2)
MVVM light
IMessage(Box)Service

Description: C:\Users\Geert\Desktop\yes.png

Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\yes.png
IOpenFileService
Description: C:\Users\Geert\Desktop\yes.png

Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png
IPleaseWaitService
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png
IProcessService
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png
ISaveFileService
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png
IUIVisualizerService
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\yes.png
Unit test versions of services
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\yes.png

General features

Catel
Caliburn.Micro
Cinch (V2)
MVVM light
Communication with other VM via messenger
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\yes.png
Communication with other VM via attributes
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png
Communication with other VM via mediators
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png
RelayCommand / DelegateCommand
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\yes.png
EventToCommandTrigger
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\yes.png
IoC container support
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png
MEF support
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png
Background task manager
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png
ViewModelManager with live VM instances
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png
Project and item templates
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\yes.png
Design time example data support
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png

UI features

Catel
Caliburn.Micro
Cinch (V2)
MVVM light
MVVM specific window
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png
MVVM specific user control
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png
Dynamic view-model injection
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png
Control to VM communication via attributes
Description: C:\Users\Geert\Desktop\yes.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png
Description: C:\Users\Geert\Desktop\no.png

1 comment for “MVVM framework comparison sheet

  1. February 18, 2012 at 2:48 pm

    Could you please add Simple MVVM to your comparison matrix please ?

Leave a Reply

Your email address will not be published. Required fields are marked *