
Microsoftは現在、新フレームワーク「Microsoft.UI.Reactor」の開発を進めています。
一部の開発者の間では「WinUIやXAMLが廃止されるのではないか」という不安が広がっていますが、Microsoftは、WinUIもXAMLも今後も継続してサポートし、開発を続ける方針であることを明確にしています。
不安の理由は確かにあった
開発者が警戒するのには確かな理由があります。
Microsoftは過去に、ブラウザー向け技術のSilverlightを終了し、Windowsアプリの将来を担うとされたUWP(Universal Windows Platform)についても、現在は事実上新規開発の中心から外れています。
このため、新しい技術が登場するたびに「また数年後に捨てられるのではないか」という懸念が生まれているのです。Microsoftには、Windows Subsystem for AndroidやProject Astoriaなど、過去に大きく期待されながら終了したプロジェクトがいくつも存在します。
Microsoftは「WinUIを捨てない」と強調
そもそもReactorは新しいUIプラットフォームではありません。
現在のWinUIアプリでは、画面レイアウトをXAMLで記述し、ロジックをC#で実装するのが一般的です。一方Reactorでは、XAMLを書かずにC#だけでUIを定義するためのものです。もともとReactやSwiftUI、Jetpack ComposeといったモダンなUIフレームワークに慣れた開発者にとって、より親しみやすい開発スタイルを提供することが狙いです。
#:package [email protected] #:property OutputType=WinExe #:property TargetFramework=net10.0-windows10.0.22621.0 #:property UseWinUI=true using Microsoft.UI.Reactor; using Microsoft.UI.Reactor.Core; using static Microsoft.UI.Reactor.Factories; ReactorApp.Run("Hello Reactor", width: 340, height: 200); class MyApp : Component { public override Element Render() { var (count, setCount) = UseState(0); return VStack( TitleBar("Hello Reactor"), VStack(12, Heading($"Count: {count}"), HStack(8, Button("-", () => setCount(count - 1)), Button("+", () => setCount(count + 1)) .AccentButton() ) ).Padding(24) ).Backdrop(BackdropKind.Mica); } }

重要なのは、Reactorを使っても裏側では従来のWinUIコントロールが利用される点です。テキストボックスやナビゲーションビューなどは引き続きWinUIの仕組みが使われ、ブラウザー描画エンジンや別のレンダラーが導入されるわけではありません。
Microsoftは開発者向けブログで、「WinUIが基盤であり、XAMLは引き続き第一級の開発手法である」と説明しています。また、Build 2026では「新しいUIフレームワークを作るつもりはない」とも述べています。さらに「WinUI 3」という名称から数字を外し、単に「WinUI」と呼ぶようになったのも、将来の大規模バージョンアップを待つ必要がない継続的なプラットフォームであることを示す狙いがあるようです。
まとめ
Microsoftは、「ReactorはWinUIの後継ではなく、WinUIをより書きやすくするための新しい開発スタイル」と強調しています。
過去のSilverlightやUWPの経緯からくる開発者の不信感が消えるわけではありませんが、少なくとも現時点ではWinUIもXAMLも継続される予定です。Reactorは、Windowsネイティブアプリ開発を現代的な書き方に近づけ、Webアプリ偏重になりつつあったWindowsエコシステムを活性化する試みとして注目されそうです。
[via Windows Latest]
