Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Beginner-Friendly Projects
  3. MVVMCross

MVVMCross

MS-PLC#v10.1.0

A cross-platform MVVM framework for .NET, enabling code sharing across Android, iOS, macOS, tvOS, WPF, and WinUI.

Visit WebsiteGitHubGitHub
3.9k stars1.3k forks0 contributors

What is MVVMCross?

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.

Target Audience

.NET developers building cross-platform mobile, desktop, or TV applications who want to share code and maintain a consistent architecture across different operating systems.

Value Proposition

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.

Overview

The .NET MVVM framework for cross-platform solutions, including Android, iOS, MacCatalyst, macOS, tvOS, WPF, WinUI

Use Cases

Best For

  • Building cross-platform mobile apps with shared business logic
  • Developing desktop applications for Windows and macOS using a single codebase
  • Creating TV apps for tvOS and Android TV with consistent architecture
  • Implementing MVVM pattern in .NET with dependency injection
  • Extending application functionality with community plugins
  • Sharing navigation logic between different platforms

Not Ideal For

  • Projects targeting only web or server-side environments, as MvvmCross is designed for client-side cross-platform apps
  • Teams preferring lightweight, unopinionated frameworks without the overhead of a full MVVM architecture
  • Applications requiring immediate adoption of the latest .NET features, since MvvmCross may have slower update cycles
  • Developers building simple, single-platform apps where platform-specific tools offer more straightforward solutions

Pros & Cons

Pros

Cross-Platform Code Sharing

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.

Extensible Plugin Ecosystem

Offers a plugin framework for common functionalities like GPS and localization, plus third-party community plugins, easing integration of advanced features without custom code.

Customizable Binding Engine

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.

Consistent Navigation

Enables ViewModel-to-ViewModel navigation with shared behavior across platforms, ensuring a uniform user experience and reducing platform-specific navigation code.

Cons

Complex Setup and Configuration

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.

Performance Overhead

The binding engine and dependency injection introduce runtime overhead, which might impact performance in resource-constrained environments or apps with high-frequency UI updates.

Limited Ecosystem Compared to Alternatives

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.

Frequently Asked Questions

Quick Stats

Stars3,921
Forks1,289
Contributors0
Open Issues187
Last commit1 day ago
CreatedSince 2011

Tags

#hacktoberfest#xamarin#ios#nuget#dependency-injection#android#ios-framework#dotnet#mvvm-framework#winui#cross-platform#c-sharp#mvvmcross#wpf#macos#mvvm#code-sharing

Built With

.
.NET

Links & Resources

Website

Included in

Beginner-Friendly Projects84.2k.NET21.2kXamarin1.9k
Auto-fetched 16 hours ago

Related Projects

ReactiveUIReactiveUI

An advanced, composable, functional reactive model-view-viewmodel framework for all .NET platforms that is inspired by functional reactive programming. ReactiveUI allows you to abstract mutable state away from your user interfaces, express the idea around a feature in one readable place and improve the testability of your application.

Stars8,515
Forks1,147
Last commit16 hours ago
ReactiveUIReactiveUI

An advanced, composable, functional reactive model-view-viewmodel framework for all .NET platforms that is inspired by functional reactive programming. ReactiveUI allows you to abstract mutable state away from your user interfaces, express the idea around a feature in one readable place and improve the testability of your application.

Stars8,515
Forks1,147
Last commit16 hours ago
PrismPrism

Prism is a framework for building loosely coupled, maintainable, and testable XAML applications in WPF, Xamarin Forms, and Uno / Win UI Applications..

Stars6,822
Forks1,651
Last commit14 days ago
PrismPrism

Prism is a framework for building loosely coupled, maintainable, and testable XAML applications in WPF, Xamarin Forms, and Uno / Win UI Applications..

Stars6,822
Forks1,651
Last commit14 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub