MvvmCross is a cross-platform MVVM framework that allows for sharing code and user interfaces across platforms. It uses the MVVM pattern with ViewModels, Models, and Views. ViewModels contain properties, commands, and notify of property changes. Models contain plain-old CLR object entities. Services can be used to access back-end services and events. The Application handles navigation between ViewModels and application states. The Navigator performs platform-specific navigation between Views. Runtime flow involves the EntryPoint instantiating Application and Navigator, then navigating between Views and ViewModels in response to user input and service events.