Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. .NET
  3. ReactiveUI

ReactiveUI

MITC#23.2.28

A composable, cross-platform MVVM framework for .NET that uses functional reactive programming to abstract mutable state from UIs.

Visit WebsiteGitHubGitHub
8.5k stars1.1k forks0 contributors

What is ReactiveUI?

ReactiveUI is a cross-platform model-view-viewmodel (MVVM) framework for .NET applications, inspired by functional reactive programming. It helps developers abstract mutable state away from user interfaces, express feature logic in a single readable place, and significantly improve application testability. The framework provides native support for platforms like WPF, MAUI, WinUI, Blazor, and more through a composable package architecture.

Target Audience

.NET developers building cross-platform desktop, mobile, or web applications who want a declarative, testable approach to UI development using the MVVM pattern and reactive programming principles.

Value Proposition

Developers choose ReactiveUI for its robust integration of functional reactive programming with the MVVM pattern, enabling cleaner state management, reduced boilerplate, and excellent testability across all major .NET UI platforms.

Overview

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.

Use Cases

Best For

  • Building cross-platform .NET applications with shared view model logic
  • Implementing complex user interactions with declarative reactive streams
  • Improving test coverage of UI logic in WPF or MAUI applications
  • Managing application state in a predictable, side-effect-free way
  • Reducing boilerplate code in MVVM projects with source generators
  • Creating responsive UIs that handle asynchronous data flows elegantly

Not Ideal For

  • Teams with tight deadlines and no prior Rx experience, as the functional reactive programming learning curve can delay initial development.
  • Projects targeting only a single .NET UI platform (e.g., just WPF) with simple data binding needs, where lighter MVVM frameworks reduce overhead.
  • Legacy applications stuck on Xamarin or older .NET versions, since ReactiveUI has moved to MAUI and newer targets, requiring migration efforts.

Pros & Cons

Pros

Cross-Platform Compatibility

Supports WPF, MAUI, WinUI, Blazor, and more through dedicated NuGet packages, enabling code reuse across desktop, mobile, and web applications as listed in the platform table.

Declarative State Management

Leverages Reactive Extensions (Rx) to express UI logic and state changes in a single, readable place, abstracting away mutable state for cleaner code.

Enhanced Testability

Designed with unit testing in mind, offering a dedicated ReactiveUI.Testing package to isolate and test view models effectively.

Boilerplate Reduction

Includes ReactiveUI.SourceGenerators to automatically handle property change notifications and command bindings, reducing manual coding effort.

Cons

Steep Learning Curve

Requires proficiency in both MVVM and Reactive Extensions (Rx), making it challenging for developers unfamiliar with functional reactive programming concepts.

Complex Setup Requirements

The README warns that platform-specific packages are required for proper functioning, and incorrect installation can lead to performance issues or app failures.

Legacy Platform Abandonment

Has dropped support for Xamarin in favor of MAUI, forcing existing projects to migrate, which can be time-consuming and error-prone as noted in the migration section.

Frequently Asked Questions

Quick Stats

Stars8,515
Forks1,147
Contributors0
Open Issues1
Last commit6 hours ago
CreatedSince 2010

Tags

#reactive-extensions#xamarin#ios#testability#winforms#android#reactive-programming#desktop-apps#dotnet#mvvm-framework#uwp#ui-development#cross-platform#wpf#reactiveui#blazor#functional-reactive-programming#mobile-apps

Built With

.
.NET

Links & Resources

Website

Included in

.NET21.2k
Auto-fetched 5 hours ago

Related Projects

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 commit13 days ago
MVVMCrossMVVMCross

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

Stars3,921
Forks1,289
Last commit23 hours ago
Caliburn.MicroCaliburn.Micro

A small, yet powerful framework, designed for building applications across all XAML platforms. Its strong support for MV* patterns will enable you to build your solution quickly, without the need to sacrifice code quality or testability.

Stars2,866
Forks772
Last commit6 days ago
StyletStylet

A very lightweight but powerful ViewModel-First MVVM framework for WPF for .NET Framework and .NET Core, inspired by Caliburn.Micro.

Stars1,056
Forks155
Last commit2 years 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