A cross-platform MVVM framework for .NET, enabling code sharing across Android, iOS, macOS, tvOS, WPF, and WinUI.
MvvmCross is a cross-platform MVVM framework for .NET that enables developers to build applications using the Model-View-ViewModel pattern. It solves the problem of code duplication by allowing shared business logic and behavior across multiple platforms, including Android, iOS, macOS, tvOS, WPF, and WinUI.
.NET developers building cross-platform mobile, desktop, or TV applications who want to share code and maintain a consistent architecture across different operating systems.
Developers choose MvvmCross for its opinionated yet flexible approach to MVVM, extensive plugin ecosystem, and strong support for code sharing, which reduces development time and maintenance overhead compared to platform-specific implementations.
The .NET MVVM framework for cross-platform solutions, including Android, iOS, MacCatalyst, macOS, tvOS, WPF, WinUI
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables sharing of business logic and ViewModel code across Android, iOS, macOS, WPF, and WinUI, significantly reducing duplication as emphasized in the README's value proposition.
Offers a plugin framework for common functionalities like GPS and localization, plus third-party community plugins, easing integration of advanced features without custom code.
Provides a binding engine that supports creating custom binding definitions for unique views, giving developers fine-grained control over UI bindings as highlighted in the features.
Enables ViewModel-to-ViewModel navigation with shared behavior across platforms, ensuring a uniform user experience and reducing platform-specific navigation code.
Requires installation of NuGet packages in both shared and platform projects, and the opinionated nature necessitates understanding specific patterns, which can be daunting based on the detailed installation steps.
The binding engine and dependency injection introduce runtime overhead, which might impact performance in resource-constrained environments or apps with high-frequency UI updates.
While it has plugins, the community and third-party support are smaller than mainstream frameworks like .NET MAUI, potentially limiting ready-made solutions and documentation depth.