Table of Contents

Getting Started with ReactiveUI

ReactiveUI gives you the power to build reactive, testable, and composable UI code using the MVVM pattern.

See our Handbook for the ReactiveUI documentation. We also have a complete cross-platform demo app.

Getting Started

To get started visit our Installation page to install the appropriate NuGet packages for your platform.

RxAppBuilder is the recommended way to initialize and configure ReactiveUI applications (introduced in v21.0.1). It provides a fluent API for setting up dependency injection, view/view model registration, and platform-specific services:

var app = RxAppBuilder.CreateReactiveUIBuilder()
    .WithWpf() // Or WithMaui(), WithBlazor(), WithWinUI(), etc.
    .WithViewsFromAssembly(typeof(App).Assembly)
    .WithRegistration(locator =>
    {
        // Register your services
        locator.RegisterLazySingleton<IScreen>(() => new MainViewModel());
    })
    .BuildApp();

Learn more about RxAppBuilder in the RxAppBuilder Guide.

Key ReactiveUI Features

ReactiveUI makes it easy to combine the MVVM pattern with Reactive Programming by providing features such as:

The Compelling Example walks through creating a more complete application, demonstrating the power of ReactiveUI and Reactive Extensions.

Why MVVM?

The Model-View-ViewModel (MVVM) pattern helps create more portable and maintainable codebases for cross-platform .NET applications. It increases the amount of code that can be shared between different platforms (Windows, iOS, Android, Web, etc.) and makes testing easier.

mvvm

Explore the ReactiveUI Ecosystem

ReactiveUI is much more than just a MVVM helper. Take a look at the following projects to get started exploring what is available:

Core Libraries

Platform Extensions

Additional Tools

  • Fusillade - HTTP request prioritization and rate limiting
  • Punchclock - Asynchronous work queue with prioritization

Resources

Next Steps

  1. Install ReactiveUI for your platform
  2. Follow the Compelling Example to build your first reactive app
  3. Read the Handbook to learn about advanced features
  4. Join the Community on Slack