Skip to content

Getting Started

ReactiveUI is a family of .NET libraries. Each one solves one job, and you can use them together or on their own. This page helps you pick where to start. Installation lists every package.

Pick a starting point

You want toStart with
Build an app with the model-view-viewmodel (MVVM) patternReactiveUI
Keep a view and a view model in step, with or without ReactiveUIReactiveUI.Binding
Write less property and command code in a view modelReactiveUI.SourceGenerators
Check user input in a view modelReactiveUI.Validation
Navigate by naming view modelsSextant
Register services and write logs on every platformSplat
Work with values that arrive over time, such as events and timersReactiveUI.Primitives
Call a REST API from a C# interfaceRefit
Cache data and settings on the deviceAkavache

How the libraries fit together

ReactiveUI.Primitives and Splat sit at the bottom. Several libraries use streams from ReactiveUI.Primitives, and ReactiveUI finds its services through Splat. A stream is a series of values that arrive over time. Reactive programming explains streams from the start.

ReactiveUI builds on both. It uses ReactiveUI.Binding for bindings and view location, and ReactiveUI.SourceGenerators to write property and command code; it installs both for you. ReactiveUI.Validation and Sextant add to ReactiveUI.

Refit and Akavache do not need ReactiveUI. You can use them in any .NET app.

Next steps

  1. Install the packages you need.
  2. Follow the getting started page of the library you picked.
  3. Browse the samples to see complete apps.
  4. Ask questions in the ReactiveUI Slack.