What is MVVM Cross?

Technology CommunityCategory: XamarinWhat is MVVM Cross?
VietMX Staff asked 3 years ago

MVVMCross is a .NET cross-platform MVVM framework. It allows making cross-platform solutions, for platforms such as Xamarin.Forms, Xamarin.Android, Xamarin.iOS, Xamarin.Mac, Xamarin.tvOS, UWP, and WPF. It is currently inactive state of development.

MVVM Cross requires the application to be divided into two parts: the Core and the UI. The Core part contains the View Models, Service, Models, and the Business logic whereas the UI parts consist of the different Views and platform-specific code that interacts with the Core. The views are View Screens that contain the graphical content. In addition to Core and UI, the application may contain additional libraries for various functionalities.

The various high-level features that MvvmCross provides are:

  • An MVVM architecture pattern
  • A flexible Navigation system
  • Data Binding to allow source-target automatic binding
  • Platform specifics support
  • Inversion of Control container
  • Dependency Injection engine
  • Plugins for common functionalities. A lot of customizable plugins are available for common tasks.

The cons of using MVVM Cross are:

  • It has a steep learning curve and lacks a Wiki for how to get started developing apps.