Windows 应用 SDK
Windows 应用 SDK 是一组新的开发人员组件和工具,它们代表着 Windows 应用开发平台的下一步发展。 Windows 应用 SDK 提供一组统一的 API 和工具,可供从 Windows 11 到 Windows 10 版本 1809 上的任何桌面应用以一致的方式使用。
Windows 应用 SDK 不会用 C++ 替换 Windows SDK 或现有桌面 Windows 应用类型,例如 .NET(包括 Windows 窗体和 WPF)和桌面 Win32。 相反,Windows 应用 SDK 使用一组通用 API 来补充这些现有工具和应用类型,开发人员可以在这些平台上依赖这些 API 来执行操作。 有关更多详细信息,请参阅 Windows 应用 SDK 的优势。
重要
如果使用的是 UWP 应用,请参阅从 UWP 迁移到 Windows 应用 SDK。
Windows 应用 SDK 入门
Windows 应用 SDK 提供适用于 Visual Studio 2022 和 Visual Studio 2019 的扩展。 这些扩展包括配置为在新项目中使用 Windows 应用 SDK 组件的项目模板。 也可以通过可在现有项目中安装的 NuGet 包来使用 Windows 应用 SDK 库。
若要了解有关如何配置 Visual Studio 以创建新的 Windows 应用 SDK 项目(包括所需的工作负载和组件)的信息,请参阅 WinUI 入门。
如果已安装所需的开发人员工具,可开始创建你的第一个 WinUI 3 项目。 还可在现有项目中使用 Windows 应用 SDK。
如需有关特定 Windows App SDK 版本的指导,请参阅版本频道和下载。
Windows 应用 SDK 功能
下表重点介绍了当前 Windows 应用 SDK 版本提供的开发功能。 要详细了解包含上述每项功能的 Windows 应用 SDK 的发布渠道,请参阅发布渠道提供的功能。
功能 | 说明 |
---|---|
WinUI 3 | 适用于 Windows 桌面应用的初装原生用户界面 (UI) 框架,包括使用 C# 和 .NET 的托管应用以及将 C++ 与 Win32 API 结合使用的原生应用。 WinUI 3 使用最新的用户界面 (UI) 模式提供一致、直观且易于访问的体验。 |
使用 DWriteCore 呈现文本 | 使用独立于设备的文本布局系统、高质量的子像素 Microsoft ClearType 文本呈现、硬件加速文本、多格式文本、广泛的语言支持等来呈现文本。 |
使用 MRT Core 管理资源 | 独立于应用逻辑管理应用资源,例如多语言字符串和图像、缩放以及对比度变体。 |
应用生命周期:应用实例化 | 控制是否可以同时运行应用进程的多个实例。 |
应用生命周期:丰富激活 | 处理有关不同类型应用激活的信息。 |
应用生命周期:电源管理 | 了解应用如何影响设备的电源状态,使应用能够做出有关资源使用情况的智能决策。 |
管理应用窗口 | 创建和管理与应用关联的窗口。 |
推送通知 | 使用 Azure 应用注册标识将原始通知和应用通知从云发送到应用。 |
应用通知 | 从本地向应用发送发送应用通知。 |
部署 | 使用未打包和打包的应用部署 Windows App SDK 运行时 |
Windows App SDK 发行通道
下表提供了不同发行通道的概述。
发布通道 | 说明 |
---|---|
Stable | 此通道供生产环境中的应用使用。 它仅包括稳定的 API。 默认情况下,Windows App SDK 文档侧重于稳定通道。 |
预览 | 此通道提供下一个稳定版本的预览。 在给定的预览通道版本和下一个稳定版本之间,可能会存在中断性的 API 变更。 有关使用预览版的文档,请参阅安装 Windows 应用 SDK 的预览和试验通道工具。 |
实验 | 该通道包括早期开发阶段中的试验功能。 试验功能可能会从下一版本中删除,也可能永远不会发布。 有关使用试验版本的文档,请参阅安装 Windows 应用 SDK 的预览和试验通道工具。 |
有关 Windows App SDK 发行通道的详细信息,请参阅 Windows App SDK 发行频道。
面向 Windows 开发人员的 Windows 应用 SDK 优势
Windows 应用 SDK 提供了各种 Windows API,其实现与 OS 分离,并通过 NuGet 包发布给开发人员。 Windows 应用 SDK 并不打算代替 Windows SDK。 Windows SDK 将继续按原样工作,并且 Windows 的许多核心组件将通过 API 不断改进,这些 API 通过 OS 和 Windows SDK 版本发布。 建议开发人员根据自己的工作节奏选用 Windows 应用 SDK。
在不同的桌面应用平台中实现统一的 API 图面
想要创建桌面 Windows 应用的开发人员必须在多个应用平台和框架之间进行选择。 尽管每个平台都提供了许多可供使用其他平台构建的应用使用的功能和 API,但是某些功能和 API 仅供特定平台使用。 Windows 应用 SDK 统一了桌面 Windows 11 和 Windows 10 应用对 Windows API 的访问。 无论选择哪种应用模型,你都可以访问 Windows 应用 SDK 中提供的同一组 Windows API。
随着时间的推移,我们计划对 Windows 应用 SDK 进行进一步的投资,以减少不同应用模型之间的差异。 例如,你应用可能使用 WinUI Desktop 模型、XAML Islands 模型、WPF,也可能是使用 Composition Islands 或 Windows 应用 SDK 其他方面的非 XAML 应用。 在上述任何情况下,我们的目标都是让访问 Windows 应用 SDK 中的 Windows API 变得同样简单。 Windows 应用 SDK 将同时提供 WinRT API 和本机 C API。
在多个 Windows 版本中实现一致体验
随着 Windows API 随新 OS 版本的发展而不断发展,开发人员必须使用版本自适应代码等技术来解决版本中的所有差异,以吸引其应用程序受众。 这可能会增加代码和开发体验的复杂性。
Windows 应用 SDK API 将在从 Windows 11 到 Windows 10 版本 1809 的系统上运行。 这意味着,只要你的客户使用的是 Windows 10 版本 1809 或任何更高的 Windows 版本,就可以在新的 Windows 应用 SDK API 和功能发布后立即使用,而无需编写版本自适应代码。
加快发布节奏
新的 Windows API 和功能通常包含在主要的 Windows OS 更新中,这些更新大约每年发布一次(通常频率更低)。 Windows 应用 SDK 大约每六个月发布一次新版本。 该发布速度可确保你能够持续获取 Windows 开发平台中的最新创新。
提供反馈和参与
我们正在将 Windows 应用 SDK 构建为开源项目。 我们在 Github 页面上提供了许多有关我们将如何构建 Windows 应用 SDK,以及你如何参与此开发过程的详细信息。 查看我们的参与者指南,以提出问题、开始讨论或提出功能建议。 我们希望确保 Windows 应用 SDK 能够为像你这样的开发人员带来最大的好处。