Advertuse

Search This Blog

Your Ad Here

Wednesday, 6 July 2011

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:

Doğu Tümerdem said...

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