MvvmCross is an open source, convention over configuration, MVVM framework for the Xamarin platform and Windows UWP, WPF, Windows Phone 8.1 (non-Silverlight), Windows 8.1 (modern Apps) and Windows Console Apps.
MvvmCross is an open source mvvm framework. It emphasises convention over configuration. The goal of this set of libraries is to help the developer accelerate the process of creating Apps; improve the amount of shared and testable code.
Compared to mvvm-light, which provides only the essential components and leaves the rest to the developer. MvvmCross tries to help the developer all the way by providing plug-ins for a lot of use cases.
The MvvmCross motto is: The App Is King, which means that the framework is made in such a way that most default behaviour and features are overridable and extensible in order not to get in the way of the developer.
Features
Notable features include:
- Inversion of Control
- Constructor Injection
- Property Injection
- ViewModel to ViewModel navigation
- Advanced binding engine for xamarin
- Plug-in infrastructure
Platforms
- xamarin.ios
- xamarin.android
- xamarin.mac
- windows-uwp
- windows-phone-8.1
- wpf
- windowscommand-line-interface
Getting started
The easiest way to get started with MvvmCross is to download and install either the Visual Studio MvvmCross template extension or the Xamarin Studio MvvmCross template add-in. This template provided by the community, provides a good starting point without the need to set up all the boiler plate to get started.
Alternatively to the Templates, there is a nice Visual Studio extension called Ninja Coder, which provides templates and tools for creating all kinds of MvvmCross related classes.