Microsoft Introduces Microsoft.UI.Reactor: An Experimental Framework for Building WinUI 3 Desktop Apps
Microsoft has released Microsoft.UI.Reactor, an experimental C#-first framework for building WinUI 3 desktop applications using the MVU pattern.
Microsoft.UI.Reactor enables declarative C# development for Windows native applications.
- Microsoft.UI.Reactor is an experimental framework for Windows UI 3 (WinUI) that enables developers to build apps using the Model-View-Update (MVU) pattern.
- The framework allows UI construction in pure C# without XAML files, code-behind, or traditional view models.
- It is designed to coexist with XAML and MVVM, offering an alternative for developers accustomed to declarative frameworks like React or SwiftUI.
- The project is currently in experimental status, with no formal support policy or long-term API guarantees.
Overview of Microsoft.UI.Reactor
Microsoft has introduced Microsoft.UI.Reactor, a new experimental C# framework aimed at simplifying the development of WinUI 3 desktop applications. Announced by Microsoft engineers, the framework adopts the Model-View-Update (MVU) architecture, which has become common in other UI development environments like React, SwiftUI, and Jetpack Compose. By enabling this pattern within the Windows ecosystem, the team hopes to provide a familiar experience for developers moving from web or cross-platform mobile development to native Windows applications.
Unlike traditional WinUI development, which relies heavily on XAML for UI definitions, Reactor enables developers to define their user interfaces entirely in C#. According to the official GitHub repository, the framework serves as an extension layer over WinUI, meaning it renders standard WinUI controls such as Button, TextBox, and NavigationView, rather than introducing a proprietary rendering engine. This ensures that apps built with Reactor retain native performance, theming capabilities, and accessibility support consistent with the broader Windows platform.
The MVU Pattern in Windows Development
In the standard WinUI development model, developers typically use the Model-View-ViewModel (MVVM) pattern. This approach often involves separate markup (XAML) files and code-behind logic. In contrast, Reactor utilizes a declarative approach where the state of an application is managed in a centralized location. An update function generates a new state, and the view is derived as a function of that state.
The framework implements a virtual element tree and a reconciler that compares the previous UI state with the new one, applying patches only to the elements that have changed. This mechanism is similar to how web frameworks like React handle virtual DOM updates. By co-locating render logic with state management (using hooks such as UseState and UseEffect), the framework aims to reduce the boilerplate code traditionally associated with complex Windows applications.
Compatibility and Design Philosophy
Microsoft has emphasized that Reactor is not intended to replace existing XAML or MVVM workflows. The engineering team explicitly stated that XAML and MVVM remain robust, well-supported paths for WinUI development. Instead, Reactor is positioned as a secondary option for specific use cases. Developers can even mix both paradigms, hosting Reactor content within XAML-based apps or embedding XAML controls inside a Reactor-based application.
The experimental nature of the project is a deliberate choice. By publishing early, the team seeks feedback on the design before committing to long-term API guarantees. Many of the building blocks introduced in Reactor—such as flex layout, charting, and specialized commanding—are being developed with the intent that they might eventually be integrated back into the core WinUI platform. This would benefit all WinUI developers, regardless of whether they choose to use the Reactor framework or traditional XAML.
Getting Started
Because the framework is currently in an experimental preview stage, it is distributed via NuGet and is available for developers using the Windows App SDK. It includes command-line tools to scaffold new applications, supporting the dotnet new workflow. The framework also supports the winapp CLI, which streamlines the process of scaffolding, packaging, and signing Windows apps.
Developers interested in exploring the framework can find documentation at the official project site. Users should note that as an experimental release, it lacks formal production support and is subject to breaking API changes as the development team iterates on the design based on community feedback.
Enjoyed this?
Get more posts like this delivered to your inbox.
AWS Launches Continuum: An Autonomous AI Security Agent Designed to Find, Prove, and Patch Code Vulnerabilities at Machine Speed
Next →AWS Introduces Project-Level Hard Spend Limits