Reactor.Maui 4.0.3-beta

This is a prerelease version of Reactor.Maui.
dotnet add package Reactor.Maui --version 4.0.3-beta
                    
NuGet\Install-Package Reactor.Maui -Version 4.0.3-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.3-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.3-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.3-beta
                    
#r "nuget: Reactor.Maui, 4.0.3-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.3-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.3-beta&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Reactor.Maui&version=4.0.3-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 (3)

Showing the top 3 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)
adospace/mauireactor-samples
Demo apps built using MauiReactor
Version Downloads Last Updated
4.0.3-beta 424 11/30/2025
4.0.2-beta 183 11/25/2025
4.0.1-beta 404 11/20/2025
3.0.39 710 11/25/2025
3.0.38 1,098 11/7/2025
3.0.37 4,467 10/21/2025
3.0.36 4,775 9/12/2025
3.0.35 268 9/5/2025
3.0.34 477 7/18/2025
3.0.33 8,505 7/2/2025
3.0.32 208 6/28/2025
3.0.31 273 6/18/2025
3.0.30 444 6/11/2025
3.0.29 6,598 4/11/2025
3.0.28 285 4/8/2025
3.0.27 268 4/2/2025
3.0.26 303 4/1/2025
3.0.25 292 3/19/2025
3.0.24 378 3/7/2025
3.0.23 295 2/17/2025
3.0.22 242 2/12/2025
3.0.21 239 2/11/2025
3.0.20 193 2/6/2025
3.0.19 260 2/2/2025
3.0.18 245 2/1/2025
3.0.17 202 1/29/2025
3.0.16 259 1/25/2025
3.0.15-beta 157 1/25/2025
3.0.14-beta 156 1/17/2025
3.0.13-beta 171 12/30/2024
3.0.12-beta 152 12/23/2024
3.0.11-beta 158 12/20/2024
3.0.10-beta 168 12/12/2024
3.0.9-beta 196 12/10/2024
3.0.8-beta 170 12/6/2024
3.0.7-beta 173 11/29/2024
3.0.6-beta 157 11/24/2024
3.0.5-beta 229 11/22/2024
3.0.4-beta 242 11/20/2024
3.0.3-beta 177 11/18/2024
3.0.2-beta 155 11/15/2024
3.0.1-beta 222 11/15/2024
3.0.0-beta 257 11/14/2024
2.0.59 2,784 12/10/2024
2.0.58 234 12/10/2024
2.0.57 312 12/1/2024
2.0.56 256 12/1/2024
2.0.55 516 11/13/2024
2.0.54 325 11/10/2024 2.0.54 is deprecated because it has critical bugs.
2.0.53 284 11/4/2024
2.0.52 400 10/25/2024
2.0.51 258 10/22/2024
2.0.50 291 10/14/2024
2.0.49 407 9/19/2024
2.0.48 225 9/19/2024
2.0.47 443 9/3/2024
2.0.46 303 8/26/2024
2.0.45 372 7/24/2024
2.0.44 252 7/19/2024
2.0.43 237 7/16/2024
2.0.42 416 6/19/2024
2.0.41 256 6/18/2024
2.0.40 281 6/10/2024
2.0.39 272 6/5/2024
2.0.38 517 5/24/2024
2.0.37 429 4/18/2024
2.0.36 305 4/10/2024
2.0.35 289 4/4/2024
2.0.34 347 3/26/2024
2.0.33 354 3/13/2024
2.0.32 335 3/7/2024
2.0.31 305 3/5/2024
2.0.29 265 3/5/2024
2.0.28 320 3/3/2024
2.0.27 485 2/19/2024
2.0.26 325 2/11/2024
2.0.25 300 2/6/2024
2.0.24 307 1/31/2024
2.0.23 279 1/26/2024
2.0.22 273 1/23/2024
2.0.21 263 1/21/2024
2.0.20 296 1/18/2024
2.0.19 270 1/17/2024
2.0.18-beta 242 1/12/2024
2.0.17-beta 214 1/12/2024
2.0.16-beta 212 1/11/2024
2.0.15-beta 262 1/6/2024
2.0.14-beta 499 1/2/2024
2.0.13-beta 279 1/2/2024
2.0.12-beta 296 12/29/2023
2.0.11-beta 217 12/27/2023
2.0.10-beta 218 12/21/2023
2.0.9-beta 232 12/21/2023
2.0.8-beta 218 12/20/2023
2.0.7-beta 250 12/17/2023
2.0.6-beta 280 12/2/2023
2.0.5-beta 242 11/20/2023
2.0.4-beta 240 11/18/2023
2.0.3-beta 222 11/16/2023
2.0.2-beta 218 11/16/2023
2.0.1-beta 242 11/16/2023
2.0.0-beta 221 11/16/2023
1.0.154 431 11/18/2023
1.0.153 246 11/17/2023
1.0.149 245 11/14/2023
1.0.148 264 11/9/2023
1.0.147 301 10/27/2023
1.0.146 252 10/23/2023
1.0.145 432 9/30/2023
1.0.144 278 9/30/2023
1.0.143 329 9/19/2023
1.0.142 318 9/1/2023
1.0.141 290 8/31/2023
1.0.140 430 8/10/2023
1.0.139 340 7/25/2023
1.0.138 331 7/18/2023
1.0.137 381 7/6/2023
1.0.136 368 7/5/2023
1.0.135 312 7/4/2023
1.0.134 296 6/29/2023
1.0.133 355 6/27/2023
1.0.132 378 6/21/2023
1.0.131 504 5/29/2023
1.0.129 416 5/15/2023
1.0.128 529 5/10/2023
1.0.127 363 5/9/2023
1.0.126 344 5/8/2023
1.0.125 348 5/6/2023
1.0.124 361 5/4/2023
1.0.122 508 4/24/2023
1.0.121 370 4/23/2023
1.0.120 445 4/18/2023
1.0.119 358 4/18/2023
1.0.118 401 4/16/2023
1.0.117 516 4/13/2023
1.0.116 463 3/30/2023
1.0.115 456 3/21/2023
1.0.114 481 3/16/2023
1.0.113 637 3/10/2023
1.0.112 444 3/9/2023
1.0.111 429 3/7/2023
1.0.110 442 3/3/2023
1.0.109 560 3/1/2023
1.0.108 610 2/28/2023
1.0.107 479 2/26/2023
1.0.106 455 2/26/2023
1.0.105 496 2/15/2023
1.0.104 575 2/6/2023
1.0.103-beta 429 2/1/2023
1.0.102-beta 326 2/1/2023
1.0.101-beta 328 1/30/2023
1.0.100-beta 324 1/28/2023
1.0.98-beta 310 1/19/2023
1.0.97-beta 343 1/5/2023
1.0.76-beta 325 12/10/2022
1.0.74-beta 330 11/30/2022
1.0.73-beta 350 11/23/2022
1.0.72-beta 340 11/17/2022
1.0.71-beta 331 11/12/2022
1.0.70-beta 313 11/12/2022
1.0.66-beta 295 11/6/2022
1.0.65-beta 292 10/27/2022
1.0.64-beta 288 10/27/2022
1.0.63-beta 293 10/26/2022
1.0.62-beta 276 10/24/2022
1.0.61-beta 324 10/19/2022
1.0.60-beta 350 10/17/2022
1.0.59-beta 262 10/12/2022
1.0.58-beta 321 10/7/2022
1.0.57-beta 327 10/6/2022
1.0.56-beta 261 10/1/2022
1.0.55-beta 267 9/21/2022
1.0.54-beta 250 9/11/2022
1.0.53-beta 293 8/28/2022
1.0.52-beta 297 8/9/2022
1.0.51-beta 338 8/4/2022
1.0.50-beta 330 7/27/2022
1.0.49-beta 281 7/14/2022
1.0.47-beta 282 7/6/2022
1.0.44-beta 343 6/30/2022
1.0.43-beta 288 6/30/2022
1.0.42-beta 322 6/30/2022
1.0.41-beta 282 6/30/2022
1.0.39-beta 273 6/30/2022
1.0.38-beta 284 6/28/2022
1.0.37-beta 323 6/7/2022
1.0.32-beta 237 5/3/2022
1.0.31-beta 232 4/26/2022
1.0.30-beta 254 4/26/2022
1.0.29-beta 236 4/26/2022
1.0.28-beta 252 4/25/2022
1.0.27-beta 245 4/23/2022
1.0.26-beta 253 4/22/2022