ReactiveUI
An advanced, composable, functional reactive model-view-viewmodel framework for all .NET platforms!
🛠️ Get Started ⭐ Star on GitHubDeclarative
Describe what you want, not how to do it & rejoice in the increased readability of your code. Code is communication between people, that also happens to run on a computer. If you optimise for reading by humans, then over a long time your project will end up better.
Composable
Create re-usable chunks of functionality that can be seamlessly integrated into your reactive pipelines. These chunks might be widely applicable, or specific to your application. Regardless, you have the power to write and test code once, and leverage it many times over.
Cross-platform
Any device, any platform. Share business logic between your mobile and desktop applications. ReactiveUI has first class support for MAUI, Windows Presentation Foundation (WPF), Windows Forms, UNO Platform, Xamarin Forms, Xamarin.iOS, Xamarin.Android, Xamarin.Mac, & Tizen.
Scalable & Testable
ReactiveUI copes gracefully as your application gets more complicated because of the System.Reactive base (See the Introduction to Rx to learn more) on which ReactiveUI is built upon. These building blocks are particularly adept at expressing the relationship between a group of things that are changing. ReactiveUI is essentially a collection of extension methods that make expressing intention more convenient when implementing user interfaces.
Waiting 3 seconds after receiving user input before instigating a request? Don't write a test that waits for 3 seconds - control time! Fast-forward 2.9 seconds, assert the request hasn't been sent, fast-forward another 0.1 seconds, and assert that it has. The functional idioms inherent in reactive programming lead to many other benefits including greater ease in testing your code & you will be able to assert the correctness of features and aspects of your application that you thought were impossible to test.
Open-source
ReactiveUI is developed under an OSI-approved open source license, making it freely usable and distributable, even for commercial use. We ❤ the people who are involved in this project, and we’d love to have you on board, especially if you are just getting started or have never contributed to open-source before.
ReactiveUI is a .NET Foundation project. Other projects that are associated with the foundation include the .NET Compiler Platform ("Roslyn") as well as the ASP.NET family of projects, .NET Core, MAUI, Avalonia & Xamarin Forms.