by mark shiffer
23. November 2009 19:20
Ran across an article here that listed many available MVVM frameworks. Below is a listing of some of them, but there are some good comments to the original blog posting as well, so I encourage one to visit the original article as well:
Common features:
- ViewModelBase class (for the implementation of the INotifyPropertyChanged interface)
- RelayCommand like class to link UI command to ViewModel’s handlers
- Unit tests comes with the framework
Cinch
- Author: Sacha Barber
- Silverlight support: no
- Documentation: excellent, 6 articles published on CodeProject
- Hosting : CodePlex
- License: Code Project Open License
- Features:
- attached behaviors
- validation suing IDataErrorInfo
- support for IEditableObject
- weak events creation and subscription
- mediator messaging using weak events
- IOC/DI support (using Unity)
- services: event logger, message box, open save dialog, popup
- threading helpers
- support for menu items
- closeable viewmodels
- MVVM code generator
MVVM Light Toolkit
- Author: Laurent Bugnion
- Silverlight support: yes
- Documentation: many articles available on Laurent’s blog + other developers as well
- Hosting: CodePlex
- License: MIT license
- Features:
- MSI installer
- VS project and item template
- VS code snippets
- Messenger system for inter-viewmodel communication
MVVM Helpers
- Author: Mark Smith
- Silverlight support: no
- Documentation: some articles on Mark’s blog
- Hosting: personal website
- License: not defined
- Features:
- attached behaviors
- viewmodel creation using markup extension
- attributes based validation
- IOC/DI using ServiceProvider approach
- closeable viewmodel
- wait cursor (using new WaitCursor() { // your code here })
MVVM Foundation
- Author: Josh Smith
- Silverlight support: no
- Documentation: articles about the Messenger implementation on Josh or Marlon Grech’s blog
- Hosting: CodePlex
- License: MS-PL
- Features:
- Messenger system for inter-viewmodel communication
- PropertyChanged event monitor
Caliburn
- Author: Rob Eisenberg
- Silverlight support: yes
- Documentation: complete online documentation available
- Hosting: CodePlex http://www.mssoftwareconsulting.com/general/refer.aspx?url=www.codeplex.com/caliburn
- License: MIT license
- Features:
- commands are built on top of Actions and thus share many of the same features, including multiple input parameters, filters and automatic asynchronous execution
- presenters that handles UI lifecycle issue such as handling activation, deactivation and shutdown semantics for various UI components
- Caliburn applications are fully testable
- various utilities such as a background task manager
- supports various UI pattern (not MVVM only)
- dependency injection container
Onyx
- Author: William e Kempf
- Silverlight support: no
- Documentation: basic introduction available on CodePlex
- Hosting: CodePlex
- License: not specified
- Features:
- ServiceLocator pattern
- ViewModel creation using a custom markup extension
- UI related services such as IDisplayMessage
Calcium
- Author: Daniel Vaughan
- Silverlight support: no
- Documentation: 2 very detailed articles on CodeProject (part1 and part2)
- Hosting: CodePlex
- License: use, copy, modify, and/or distribute and keep the copyright!
- Features:
- Module Manager for enabling or disabling of modules at runtime
- messaging services for interacting with the user from the client or server using the same API
- Command Service to associate WPF ICommands with content interfaces that only become active when an active view or viewmodel implements the interface
- Region Adapters for ToolBars and Menus
- Client-server logging ready to work out-of-the-box
- Includes modules, such as a Web Browser, Text Editor, Output Window, and many more
- Tabbed interface with dirty file indication (reusable across modules)
nRoute
- Author: Rishi
- Silverlight support: yes
- Documentation: many articles available on author’s blog (see CodePlex project home page for the links)
- Hosting: CodePlex
- License: MS-PL
- Features:
- support Blend3 behaviors and triggers models
- resource locator framework
- view services: OpenFileDialog, ShowMessage…
- uses attributes to map View and ViewModel together
Nito MVVM
- Author: Shammah
- Silverlight support: no
- Documentation: no
- Hosting: CodePlex
- License: not specified
- Features:
- various MVVM friendly implementations of the ICommand interface
Ocean
- Author: Karl Shifflet
- Silverlight support: no
- Documentation: articles available on Karl’s blog
- Hosting: personal website
- License: not specified
- Features:
- written in VB.Net
- attribute based validation
- viewmodel base classes: relaycommand, closeableviewmodel…
- SQL server data access layer
Basic MVVM framework
- Author: Lester Lobo
- Silverlight support: no
- Documentation: sample application available with the library
- Hosting: CodePlex
- License: MS-PL
- Features:
- delegating Commands\Keybinding
- messaging between VM’s
- handling events as commands with attached behaviors
- handling dialogs (and more) as services
- VS code snippets
GoodLight
- Author: Peter O’Hanlon
- Silverlight support: yes
- Documentation: sample application available with the library
- Hosting: CodePlex
- License: MS-PL
- Features:
- “workspace” management (set of document that can be closed)
- skin support
- messaging between VM’s
f733515b-44f4-4b54-9728-b5dd4dd7a640|1|5.0
Tags: