专业的编程技术博客社区

网站首页 > 博客文章 正文

Windows App SDK 1.6 有哪些新功能

baijin 2025-01-31 11:49:13 博客文章 9 ℃ 0 评论


我们很自豪地宣布,Windows App SDK 1.6 版本现已发布!无论您是寻求通过本机 AOT(提前编译)支持提升性能和减少内存占用,改进打包部署,还是提升控件如 PipsPager 和 RatingControl 的使用体验,WinAppSDK 1.6 提供了一系列新功能、性能提升和结构性变更,帮助您让原生 Windows 应用程序更加出色。

Windows App SDK 提供了一整套丰富的 API 和工具,帮助您构建精美且快速的 Windows 桌面应用程序,适用于任何 C++ Win32 或 C# .NET 应用程序。您可以利用作为 Windows App SDK 一部分的现代控件和 WinUI 3 的细致打磨,或者如果您有使用 Win32(如 WPF)的现有应用程序,您可以根据需要只利用 SDK 的部分功能。此外,Windows App SDK 通过与操作系统独立的频繁更新,确保您的应用程序始终可以访问最新的创新技术。

开始使用 Windows App SDK

请查看 Windows App SDK 概述页面,了解更多信息并查看如何开始。如果您准备好进入 Visual Studio 并开始您的第一个 WinUI 3 应用程序,请参阅我们的设置说明以开始开发 Windows 应用程序。

新功能和改进

本机 AOT 支持
在 1.6 版本中,Windows App SDK 现在支持本机提前编译(AOT)!将您的应用程序发布为本机 AOT 应用程序后,您可以生成已提前编译为本机代码的应用程序,以实现更快的启动时间和更小的内存占用。

我们很高兴通过 Windows App SDK 将本机 AOT 的强大功能带给开发者!在我们的示例应用程序 Contoso Camera 中,我们测量到启动时间减少了 50%,使用框架包时包大小减少约 8 倍,使用自包含模式的 Windows App SDK 时包大小减少约 2 倍。虽然您的结果可能会有所不同,但如果您的应用程序合适,我们鼓励您尝试使用本机 AOT!

有关本机 AOT 的更多信息,请参阅本机 AOT 部署。要开始在您的 Windows App SDK 应用程序中使用本机 AOT,请参阅 1.6 版本说明,了解需要知道的内容和设置步骤。

解耦的 WebView2 版本控制
在 1.6 版本中,我们不再在 Windows App SDK 中嵌入硬编码的 Edge WebView2 SDK 版本,而是通过 NuGet 参考使用 Edge WebView2 SDK。如果您的应用程序使用 WebView2 来显示内容,您现在可以选择 Microsoft.Web.WebView2 包的较新版本,而不是随 Windows App SDK 提供的版本。此外,您现在还可以引用也引用 Edge WebView2 SDK 的 NuGet 包,从而简化您的依赖项。

通过这些更新,我们将 WinAppSDK 与 Edge WebView2 API 表面解耦,并将 NuGet 强大的包管理功能引入了 WebView2 领域。现在,您的 WebView2 驱动的应用程序体验比以往任何时候都更灵活,并且可以随时利用最新的 WebView2 功能!

新的包部署 API
自 Windows App SDK 推出以来,灵活且强大的包管理一直是其核心功能之一,而在 1.6 版本中,我们进一步优化了包管理 API,增加了一些增强功能和用户体验改进,包括包移除、配置、检测待注册和本地可用更新、轻松的功能可用性检测等。如果您的应用程序使用 MSIX 打包,这些改进将使您的工作更加轻松!

有关更多详细信息,您可以查看此拉取请求或查看完整规格说明。

改进的 TabView 标签页拆分

在 1.6 版本中,WinUI 3 TabView 控件的标签页拆分体验得到了重大更新,新增了 CanTearOutTabs 模式,彻底改变了用户从应用程序中拖动标签页的方式。在这种新模式下,拖动应用程序中的 TabView 标签页的体验与 Microsoft Edge 和 Google Chrome 中的标签拖动体验非常相似,在拖动过程中立即创建一个新窗口。这样,用户可以立即看到他们操作的反馈,并且可以在一个连续的操作中将新窗口拖动到屏幕边缘以最大化或对齐。

如果您在 TabView 中启用了新的 CanTearOutTabs 模式,您无需担心任何拖放 API 的限制,因为它不使用这些 API。此外,您无需担心在应用程序以管理员身份运行时标签页拆分是否会正常工作,因为这是支持的。开发者和用户的体验都无缝而顺畅。如果您的应用程序使用 TabView,您应该尝试一下新的拆分模式!

其他控件更新
虽然规模较小,但在 1.6 版本中,我们还对 WinUI 3 中的其他几个控件进行了细微的改进和更新。PipsPager 现在支持一种新的模式,该模式可以在第一个和最后一个项目之间循环:

RatingControl 现在更加可定制,因为我们将一些之前硬编码的属性移动到了主题资源中。现在,您可以在应用程序中覆盖这些值,以手工定制 RatingControl 的外观。

我们还解封了 ItemsWrapGrid,这是一个向后兼容的更改。

其他更新

最后,我们还为 1.6 增加了一些新的 API 和功能,以补充完善。我们通过新的 ColorHelper.ToDisplayName() API 填补了 UWP 中的一个空白,并在 MRTCore 中添加了新的
Microsoft.Windows.Globalization.ApplicationLanguages 类,其中包括一个新的 PrimaryLanguageOverride 功能,用于精细调整应用程序的显示语言。

保持更新

您可以通过?Windows App SDK GitHub 仓库?和?WinUI GitHub 仓库,或通过我们的季度?WinUI 社区电话会保持与团队的联系,我们将在电话会中分享路线图更新和其他令人兴奋的消息,并展示新功能。

您也可以在 X 平台上使用?#WindowsAppSDK?和?@WindowsUI 与我们联系。

我们期待看到您使用 WinAppSDK 1.6 和 WinUI 3 创建的精美应用程序!

祝编码愉快!
Windows App SDK 团队

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表