Chisle
코딩 에이전트 플러그인, 20개 실시간 작업에서 기본 모델 52% 활용, 간결한 페르소나와 출력 압축 제공
Reactor는 WinUI용 실험적 확장 기능 모음입니다
Reactor is an experimental set of extensions to WinUI
개발 도구C# · PowerShellGitHub @microsoft직접 설치운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Reactor is not a new UI platform. It is a new way to describe WinUI content. Every control you render is a real WinUI control — Button, TextBox, NavigationView, TreeView — just authored differently. Apps built with Reactor interop freely with XAML, MVVM, existing controls, and the rest of the WinUI ecosystem.
What Reactor adds on top of WinUI:
UseState, UseEffect, UseReducer, …) co-located with render logicusing Microsoft.UI.Reactor;
using Microsoft.UI.Reactor.Core;
using static Microsoft.UI.Reactor.Factories;
ReactorApp.Run<MyApp>("Hello Reactor");
class MyApp : Component
{
public override Element Render()
{
var (count, setCount) = UseState(0);
return VStack(
Heading($"Count: {count}"),
HStack(8,
Button("-", () => setCount(count - 1)),
Button("+", () => setCount(count + 1))
)
);
}
}
No App.xaml. No MainWindow.xaml. No code-behind. No ViewModels. Just C# with full IntelliSense, refactoring, and compile-time type safety.
WinUI is a powerful native platform, and the XAML + MVVM programming model is a great fit for a large portion of the WinUI user base. Tooling, designer support, templating, data binding, and years of guidance, samples, and third-party controls are built around it. Reactor does not try to replace any of that.
What Reactor does target is a specific gap: developers coming from React, SwiftUI, or Jetpack Compose expect co-located state, declarative composition, and type-safe UI construction. Reactor brings those patterns to WinUI without asking anyone to abandon the platform they already ship on. The two models coexist:
Many of the experiments in this repo — the charting stack, accessibility validators, commanding, flex layout, theming tokens — are likely to land in WinUI directly, where they'll work for XAML and MVVM users too. Others may continue to ship through Reactor. Either way, WinUI is the foundation.
Reactor ships the public preview package Microsoft.UI.Reactor on NuGet.org; see the NuGet page or GitHub Releases for the current version. The project templates ship in the official Windows App SDK dotnet new pack, so building an app needs no source checkout:
# `winapp` is the Windows App SDK CLI; `winapp new` installs the template pack
# on demand, so there's no separate install step and no version to pin.
winget install Microsoft.WinAppCli
winapp new -t reactor -n MyApp
cd MyApp
dotnet run
Scaffolded apps are packaged (single-project MSIX) by default, so dotnet run launches them with full package identity — the F5 equivalent. That requires Developer Mode (Settings → System → For developers); dotnet new reactor -n MyApp --packaging Unpackaged scaffolds a plain unpackaged .exe instead. reactor-mvu, reactor-navview, and reactor-tabview start from richer shells, and reactor-singlefile is a single .cs file with no project (winapp new --list prints them all).
Prefer plain .NET tooling? dotnet new install Microsoft.WindowsAppSDK.WinUI.CSharp.Templates::<version> followed by dotnet new reactor -n MyApp does the same thing. The pack is prerelease-only today and dotnet new install resolves stable versions unless you pin one explicitly, which is the step winapp new removes.
git clone https://github.com/microsoft/microsoft-ui-reactor.git
cd microsoft-ui-reactor
# calling the bootstrap system under the correct PowerShell version you're on
& (Get-Process -Id $PID).Path -ExecutionPolicy Bypass -File .\bootstrap.ps1
dotnet new reactor -n MyApp
cd MyApp
dotnet run -p:Platform=x64
⚠️ Clone to a short path: Clone into a short root directory such as
C:\src\(e.g.C:\src\microsoft-ui-reactor), not a deeply nested or OneDrive-synced folder. The Windows App SDK's XAML and resource compilers are 32-bit tools with no long-path support, so a long checkout path can push a project's generatedobj/binoutput past the Windows 260-characterMAX_PATHlimit and break the build (MSB3073/PRI210) — most often on ARM64 dev boxes, where those tools run under emulation. See #678.
⚠️ Platform flag required: Always build with an explicit platform:
dotnet build -p:Platform=x64(orARM64). Omitting-p:Platform=...causesWindowsAppSDKSelfContainederrors. This applies todotnet build,dotnet run, andmur checkinvocations alike.
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗