Reactor.Maui 4.0.9-beta

This is a prerelease version of Reactor.Maui.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package Reactor.Maui --version 4.0.9-beta
                    
NuGet\Install-Package Reactor.Maui -Version 4.0.9-beta
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Reactor.Maui" Version="4.0.9-beta" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Reactor.Maui" Version="4.0.9-beta" />
                    
Directory.Packages.props
<PackageReference Include="Reactor.Maui" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Reactor.Maui --version 4.0.9-beta
                    
#r "nuget: Reactor.Maui, 4.0.9-beta"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Reactor.Maui@4.0.9-beta
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Reactor.Maui&version=4.0.9-beta&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Reactor.Maui&version=4.0.9-beta&prerelease
                    
Install as a Cake Tool

MauiReactor

Component-based UI Library built on top of .NET MAUI

Build status Nuget

MauiReactor is .NET library written on top of .NET MAUI that allows you to write applications in pure C# using an MVU approach.

This is the classic Counter app in MauiReactor:

class CounterPageState
{
    public int Counter { get; set; }
}

class CounterPage : Component<CounterPageState>
{
    public override VisualNode Render()
        => ContentPage("Counter Sample",
            VStack(
                Label($"Counter: {State.Counter}"),

                Button("Click To Increment", () =>
                    SetState(s => s.Counter++))
            )
            .Spacing(10)
            .Center()
        );
    
}

Setting up MauiReactor from CLI

  1. Install MauiReactor templates
dotnet new install Reactor.Maui.TemplatePack
  1. Install MauiReactor hot reload console command
dotnet tool install -g Reactor.Maui.HotReload

If you already installed an old version of Reactor.Maui.HotReload you can update it to the latest using this command:

dotnet tool update -g Reactor.Maui.HotReload
  1. Create a sample project
dotnet new maui-reactor-startup -o my-new-project

and move inside the new project folder

cd .\my-new-project\
  1. Build & run the project (emulator or device must be running and configured)
dotnet build -t:Run -f net9.0-android

Under Mac, to target an iOS device/emulator, issue a command like this:

dotnet build -t:Run /p:_DeviceName=:v2:udid=<device_id> -f net9.0-ios

where the device id comes from this list:

xcrun simctl list
  1. Hot-reload console (in a different shell)
dotnet-maui-reactor -f [net9.0-android|net9.0-ios|...]
  1. Edits to code should be hot-reloaded by the application --> Enjoy!

Documentation

Documentation

Videos

Introductionary video from Solution1 conference YouTube Video Views

Interview with James Montemagno YouTube Video Views

Getting started video from Gerald Versluis YouTube Video Views

MauiReactor .NET MAUI UI July - 2024 Contribution - Task Manager App YouTube Video Views

Sample Applications

Main Samples Repository

Rive App

KeeMind App

Samples and test application

Star history

Star History Chart

How to contribute

  • Star the repository!
  • File an issue (Issues)
  • Fix bugs, add features, or improve the code with PRs
  • Help with the documentation (Documentation Repo)
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-android36.0 is compatible.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-ios26.0 is compatible.  net10.0-maccatalyst was computed.  net10.0-maccatalyst26.0 is compatible.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed.  net10.0-windows10.0.19041 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (6)

Showing the top 5 NuGet packages that depend on Reactor.Maui:

Package Downloads
Reactor.Maui.Canvas

MauiReactor.CanvasKit is MauiReactor plugin that let you author custom controls using drawing commands in a declarative approach (similar to react-native-skia).

Reactor.Maui.Maps

MauiReactor.Maps is a MauiReactor plugin for the MAUI Maps Control.

Reactor.Maui.Blazor

MauiReactor.Blazor is MauiReactor plugin that let you add BlazorWebView in your MauiReactor application.

Rearch.Reactor

A re-imagined declarative approach to application design and architecture. C# port of [rearch-dart](https://github.com/GregoryConrad/rearch-dart/).

NaluNavigation.Reactor

.NET MAUI developer utilities

GitHub repositories (2)

Showing the top 2 popular GitHub repositories that depend on Reactor.Maui:

Repository Stars
DevTeam/Pure.DI
Pure DI for .NET
adospace/rive-app
Sample application build with MauiReactor showing a nice UI (.NET MAUI implementation of https://designcode.io/swiftui-rive-animated-app)
Version Downloads Last Updated
4.0.11-beta 107 1/5/2026
4.0.10-beta 109 12/29/2025
4.0.9-beta 138 12/13/2025
4.0.8-beta 130 12/12/2025
4.0.7-beta 125 12/12/2025
4.0.6-beta 121 12/12/2025
4.0.5-beta 115 12/12/2025
4.0.4-beta 132 12/11/2025
4.0.3-beta 449 11/30/2025
4.0.2-beta 203 11/25/2025
4.0.1-beta 421 11/20/2025
3.0.40 1,648 12/17/2025
3.0.39 1,272 11/25/2025
3.0.38 1,123 11/7/2025
3.0.37 6,250 10/21/2025
3.0.36 4,807 9/12/2025
3.0.35 287 9/5/2025
3.0.34 541 7/18/2025
3.0.33 8,528 7/2/2025
3.0.32 225 6/28/2025
3.0.31 294 6/18/2025
3.0.30 463 6/11/2025
3.0.29 6,619 4/11/2025
3.0.28 308 4/8/2025
3.0.27 289 4/2/2025
3.0.26 326 4/1/2025
3.0.25 312 3/19/2025
3.0.24 398 3/7/2025
3.0.23 312 2/17/2025
3.0.22 264 2/12/2025
3.0.21 257 2/11/2025
3.0.20 220 2/6/2025
3.0.19 277 2/2/2025
3.0.18 266 2/1/2025
3.0.17 217 1/29/2025
3.0.16 285 1/25/2025
3.0.15-beta 172 1/25/2025
3.0.14-beta 169 1/17/2025
3.0.13-beta 186 12/30/2024
3.0.12-beta 164 12/23/2024
3.0.11-beta 171 12/20/2024
3.0.10-beta 179 12/12/2024
3.0.9-beta 212 12/10/2024
3.0.8-beta 187 12/6/2024
3.0.7-beta 189 11/29/2024
3.0.6-beta 174 11/24/2024
3.0.5-beta 247 11/22/2024
3.0.4-beta 254 11/20/2024
3.0.3-beta 190 11/18/2024
3.0.2-beta 170 11/15/2024
3.0.1-beta 238 11/15/2024
3.0.0-beta 269 11/14/2024
2.0.59 2,817 12/10/2024
2.0.58 251 12/10/2024
2.0.57 328 12/1/2024
2.0.56 277 12/1/2024
2.0.55 533 11/13/2024
2.0.54 348 11/10/2024 2.0.54 is deprecated because it has critical bugs.
2.0.53 304 11/4/2024
2.0.52 424 10/25/2024
2.0.51 275 10/22/2024
2.0.50 314 10/14/2024
2.0.49 419 9/19/2024
2.0.48 243 9/19/2024
2.0.47 463 9/3/2024
2.0.46 316 8/26/2024
2.0.45 390 7/24/2024
2.0.44 268 7/19/2024
2.0.43 255 7/16/2024
2.0.42 430 6/19/2024
2.0.41 275 6/18/2024
2.0.40 304 6/10/2024
2.0.39 289 6/5/2024
2.0.38 531 5/24/2024
2.0.37 447 4/18/2024
2.0.36 322 4/10/2024
2.0.35 305 4/4/2024
2.0.34 365 3/26/2024
2.0.33 367 3/13/2024
2.0.32 351 3/7/2024
2.0.31 319 3/5/2024
2.0.29 286 3/5/2024
2.0.28 345 3/3/2024
2.0.27 509 2/19/2024
2.0.26 337 2/11/2024
2.0.25 320 2/6/2024
2.0.24 326 1/31/2024
2.0.23 298 1/26/2024
2.0.22 289 1/23/2024
2.0.21 279 1/21/2024
2.0.20 311 1/18/2024
2.0.19 289 1/17/2024
2.0.18-beta 253 1/12/2024
2.0.17-beta 221 1/12/2024
2.0.16-beta 229 1/11/2024
2.0.15-beta 274 1/6/2024
2.0.14-beta 518 1/2/2024
2.0.13-beta 294 1/2/2024
2.0.12-beta 312 12/29/2023
2.0.11-beta 232 12/27/2023
2.0.10-beta 233 12/21/2023
2.0.9-beta 245 12/21/2023
2.0.8-beta 233 12/20/2023
2.0.7-beta 267 12/17/2023
2.0.6-beta 294 12/2/2023
2.0.5-beta 256 11/20/2023
2.0.4-beta 253 11/18/2023
2.0.3-beta 237 11/16/2023
2.0.2-beta 230 11/16/2023
2.0.1-beta 257 11/16/2023
2.0.0-beta 229 11/16/2023
1.0.154 443 11/18/2023
1.0.153 263 11/17/2023
1.0.149 261 11/14/2023
1.0.148 276 11/9/2023
1.0.147 315 10/27/2023
1.0.146 263 10/23/2023
1.0.145 453 9/30/2023
1.0.144 293 9/30/2023
1.0.143 340 9/19/2023
1.0.142 336 9/1/2023
1.0.141 307 8/31/2023
1.0.140 450 8/10/2023
1.0.139 352 7/25/2023
1.0.138 346 7/18/2023
1.0.137 389 7/6/2023
1.0.136 382 7/5/2023
1.0.135 324 7/4/2023
1.0.134 309 6/29/2023
1.0.133 367 6/27/2023
1.0.132 393 6/21/2023
1.0.131 526 5/29/2023
1.0.129 428 5/15/2023
1.0.128 553 5/10/2023
1.0.127 382 5/9/2023
1.0.126 361 5/8/2023
1.0.125 368 5/6/2023
1.0.124 381 5/4/2023
1.0.122 528 4/24/2023
1.0.121 386 4/23/2023
1.0.120 462 4/18/2023
1.0.119 371 4/18/2023
1.0.118 419 4/16/2023
1.0.117 530 4/13/2023
1.0.116 481 3/30/2023
1.0.115 473 3/21/2023
1.0.114 492 3/16/2023
1.0.113 656 3/10/2023
1.0.112 462 3/9/2023
1.0.111 448 3/7/2023
1.0.110 457 3/3/2023
1.0.109 574 3/1/2023
1.0.108 630 2/28/2023
1.0.107 497 2/26/2023
1.0.106 464 2/26/2023
1.0.105 506 2/15/2023
1.0.104 594 2/6/2023
1.0.103-beta 452 2/1/2023
1.0.102-beta 349 2/1/2023
1.0.101-beta 353 1/30/2023
1.0.100-beta 341 1/28/2023
1.0.98-beta 324 1/19/2023
1.0.97-beta 361 1/5/2023
1.0.76-beta 342 12/10/2022
1.0.74-beta 346 11/30/2022
1.0.73-beta 366 11/23/2022
1.0.72-beta 359 11/17/2022
1.0.71-beta 351 11/12/2022
1.0.70-beta 332 11/12/2022
1.0.66-beta 311 11/6/2022
1.0.65-beta 309 10/27/2022
1.0.64-beta 304 10/27/2022
1.0.63-beta 309 10/26/2022
1.0.62-beta 291 10/24/2022
1.0.61-beta 342 10/19/2022
1.0.60-beta 367 10/17/2022
1.0.59-beta 282 10/12/2022
1.0.58-beta 340 10/7/2022
1.0.57-beta 349 10/6/2022
1.0.56-beta 276 10/1/2022
1.0.55-beta 287 9/21/2022
1.0.54-beta 271 9/11/2022
1.0.53-beta 312 8/28/2022
1.0.52-beta 315 8/9/2022
1.0.51-beta 355 8/4/2022
1.0.50-beta 348 7/27/2022
1.0.49-beta 295 7/14/2022
1.0.47-beta 301 7/6/2022
1.0.44-beta 360 6/30/2022
1.0.43-beta 307 6/30/2022
1.0.42-beta 341 6/30/2022
1.0.41-beta 304 6/30/2022
1.0.39-beta 291 6/30/2022
1.0.38-beta 299 6/28/2022
1.0.37-beta 337 6/7/2022
1.0.32-beta 259 5/3/2022
1.0.31-beta 249 4/26/2022
1.0.30-beta 269 4/26/2022
1.0.29-beta 248 4/26/2022
1.0.28-beta 268 4/25/2022
1.0.27-beta 265 4/23/2022
1.0.26-beta 270 4/22/2022