微软要告别网页套壳应用:Microsoft.UI.Reactor 让 WinUI 原生应用更易开发

微软推出实验性 C# 框架 Microsoft.UI.Reactor,用 C# 直接描述界面渲染 WinUI 控件,一个文件就能做简单原生应用,缓解 Windows 11 网页套壳应用泛滥的问题。

在 Windows 上,网页应用几乎无处不在:连系统自带的天气应用,后台也用 Edge 的 WebView2 去加载 MSN 内容。微软此前承诺要做 100% 原生应用,现在又更进一步:推出实验性框架 Microsoft.UI.Reactor,让开发者哪怕来自其他平台,也能更轻松地做 WinUI 原生应用。简单讲,Reactor 不取代 WinUI,而是给开发者多一条更省事的入口。

微软只重写自家应用,只能解决一部分问题:这些问题正是它冷落 WinUI、偏向 WebView2 方案、而不是继续用好好的 Win32 API 带来的。Reactor 是一个实验性的 C# 框架,用来渲染 WinUI 控件,所以它不是新的 UI 平台,也不会“杀死”包括 WinUI 在内的任何东西,这与微软之前的表态一致。在 Build 2026 开发者大会上,微软承诺会继续支持 WinUI,Reactor 只是在同一地基上构建应用的另一种方式。微软的原话是:“没有新的渲染器,也没有任何分叉。Reactor 渲染的是 WinUI 的控件和基础元素。”

让其他平台的开发者也能上手 WinUI,XAML 也不会被放弃

Microsoft Reactor

WinUI 是专用于 Windows 的框架,普通用户一般把它和“符合 Windows 11 设计规范的现代应用”联系起来。它的应用通常用 XAML 描述界面,再配上处理逻辑的代码。XAML 本身不是问题,但如果安卓或 macOS 开发者想用 WinUI 做原生 Windows 应用,只有基础编程知识还不够,还得先学 Windows 这一套。

有了 Reactor,微软说开发者可以直接用 C# 描述界面,把移动端或 macOS 应用带到 Windows 时不必再碰 XAML。这种写法对用过 SwiftUI 或 React Native 的人应该比较熟悉。微软在文档中写道:如果您用 React、React Native、SwiftUI 或 Jetpack Compose 做过界面,常规的 WinUI 路径要先学一种标记语言和绑定引擎,我们想看看 Reactor 能不能去掉这一步。同时微软确认:XAML 是一等公民,不会被弃用,仍在持续投入。

这一点很关键:如果入门感觉是“多余的工作”,开发者宁可直接做更快的网页应用。把原生开发门槛降下来,才可能让更多人不再交付网页套壳或 Chromium 打包的应用。

一个简单的原生应用,一个文件就够

微软举例说,其示例应用用 XAML 要五个文件加一个项目文件,换成 Reactor 后只需一个 C# 文件。除了免去学 XAML,Reactor 还有这些特点:

  • 60 多项内置代码检查:可以标出深色模式、无障碍甚至性能方面的问题,例如“无法适应深色模式的硬编码画刷”,或“屏幕阅读器只会读成‘按钮’的纯图标按钮”;
  • 编辑时保持状态:微软确认 Reactor 在大多数修改之间保留应用状态,开发者可以边改边看效果;
  • 对 AI 编程工具更友好:C# 优先的写法,应该能让开发者甚至非开发者借助 AI 工具为 Windows 11 做应用。

这些听上去不算大事,但看看如今不少 Windows 应用“没做完”的观感,微软用 Reactor 的思路可能会带来变化。更多应用用 WinUI 构建,意味着更快的性能、原生的体验和更好的系统级集成。

常见问题(FAQ)

Reactor 会取代 WinUI 或 XAML 吗?

不会。微软明确说 Reactor 渲染的就是 WinUI 控件,XAML 不会被弃用,仍在投入。

普通用户需要做什么吗?

不需要。这是面向开发者的实验性框架,用户将来看到的变化是原生应用可能变多。

总结

Reactor 不是要重造 Windows 的 UI 平台,而是降低 WinUI 的上手门槛,让更多开发者愿意做原生应用。它能否真正减少网页套壳应用,还要看开发者会不会买账。
参考来源:微软 Windows 开发者博客《Microsoft UI Reactor:以 C# 为先的 WinUI 构建方式》,以及英文原始报道。