微软(9 月 11 日)发布博文,微软正在预览对 .NET 9 的 UWP(通用 Windows 平台)支持,为现有 UWP 开发人员提供一条使用最新的 .NET 和本机 AOT 实现其应用程序现代化的途径。这样做是因为该公司敦促开发人员切换到 Windows App SDK 和 WinUI 3,可以让现有 UWP 开发者利用最新 .NET 和 Native AOT 来现代化改造其应用。
“您是考虑迁移到 Windows 应用 SDK 和 WinUI 3 的 UWP 应用开发人员吗?”微软的高级软件工程师 Sergio Pedri 今天在 DevBlogs 的一篇博文中问道。“或者想要利用最新版本的 .NET 和本机 AOT?或者,也许您一直在努力引用您最喜欢的库的新版本,因为它们仅包含对 .NET 6 及更高版本的支持?好吧,不要再观望了!此预览版 UWP 对 .NET 9 的支持为 UWP 应用程序提供了使用最新版本的 .NET 进行现代化的途径。
预览版不是 UWP 的任何新特性或功能,而是一组更新的工具和组件,它们是 .NET、Visual Studio、Windows SDK 等的一部分。它们允许开发人员使用最新版本的 .NET 和 C# 来构建 UWP 应用程序,以便在他们考虑转向 WinUI 3 时通过 .NET 9 实现其应用程序的现代化。
UWP 于 2015 年随 Windows 10 推出,实现了 微软在所有 Windows 设备(电脑、平板电脑、Xbox、IoT、HoloLens 等)上建立统一应用平台的愿景。各种问题和因素使项目停滞不前,微软引入了称为 WinUI 2 的 Windows UI 库,WinUI 2 是 UWP 的 UI 框架,WinUI 3 是 WinUI 的演变,将现代 UI 框架与 UWP 分离,使其可用于 UWP 和传统 Win32 应用程序(通过 Windows 应用程序 SDK)。停滞 UWP 开发的部分动力似乎是 微软转向专注于原生 Windows 应用程序开发,现在可以通过一系列令人眼花缭乱的选项来实现,包括 WinUI 3、Windows Forms、WPF、Xamarin、MAUI 等:
微软表示 UWP 对 .NET 9 的支持的主要目标包括:
“无论您是从 UWP 迁移到 WinUI 3,还是只是想在应用程序的现有 UI 框架上提高工作效率,此预览版都可以让您现代化到最新的 .NET 和 C#,并利用最近的工具改进来简化您的迁移过程,”Pedri 说。
这篇内容广泛的帖子继续详细介绍了如何开始、创建 UWP .NET 9 项目、项目的详细信息等等。至于即将推出的内容,Visual Studio 中的 XAML 设计器正在开发中,同时 MSTest 还将添加对 .NET 9、WinUI 2 的 UWP 支持、对 Windows Community Toolkit 的支持等。
Pedri 提供的一个警告说明:“正如我们在简介中提到的,UWP 对 .NET 9 的支持以预览版提供,因此在我们努力改善开发人员体验时,预计会有一些粗糙的边缘!我们希望从长远来看,这将成为 UWP 应用程序使用 .NET 和 C# 的首选方式,并且尽可能多的开发人员将能够将其现有的 UWP 应用程序从 .NET Native 升级到最新的 .NET 和 Native AOT。
微软的这项调整让很多传统 UWP 应用开发者感到惊喜,意味着开发者无需全面迁移至复杂且耗时的 Windows App SDK,就能将现有 UWP 应用升级到.NET 9,将带来诸多底层优势。UWP 是一个已被微软接近放弃的移动应用框架,且停滞在.NET 版本 6 上,因此,将 UWP 应用迁移到基于桌面的 Windows App SDK 可能会颇具挑战。
微软希望为 UWP 初步支持.NET 9,从而引导开发者逐步升级他们的应用,首先通过现代化底层代码库,移除对.NET Native(停留在.NET Core 2.0 功能级别)的依赖,接入最新的.NET 和 C#特性,并获得显著的性能提升。