MVVMCross 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. MVVM Light MVVM Light is another Framework that allows the creation of Enterprise-Grade apps using the MVVM Architectural pattern on Xamarin. MVVM Light enables developers to create and develop  MVVM applications on a variety of platforms like Xamarin.Forms, Xamarin.Android, Xamarin.iOS, UWP, and WPF. It allows you to separate the View from Model and hence right more testable and extensible applications.  It is not in active development now. It does not support async commands. A typical MVVM Light application is divided into the following parts: View: It is a platform-specific user interface that is associated with the screen View Model: IT exposes the data and the properties related to data ViewModel Locator: It registers custom ViewModels. MVVM Light advocates the use of a Messenger for loosely-coupled communication everywhere in the app, including data binding, dialogs, and navigation: Supports two-way data binding Supplies a DelegateCommand class for wiring up ViewModel commands.  This is one of the most frequently asked Xamarin interview questions for experienced in recent times.