Windows 开发人员平台提供构建适用于 Windows 的应用所需的一切,从系统级access到新式 UI 框架。 核心有两个 SDK:Windows SDK,它让你能够访问操作系统级别的 API;还有Windows App SDK,它提供了一套现代化、解耦的 API 和工具集,其中包括 WinUI 3,这是推荐用于构建新 Windows 应用的用户界面框架。
这些 SDK 共同支持一系列本机和跨平台应用框架。 无论你是开始使用 WinUI 的新项目,将现有的 WPF 或 Windows Forms 应用程序现代化,还是使用 .NET MAUI 或 React Native 构建跨平台应用,平台都能够灵活地根据需要选择正确的方法。
Windows SDK
Windows SDK 提供了平台头文件、库和工具,使您能够直接访问完整的 Windows 操作系统 API 集。 无论框架如何,每个Windows app最终都依赖于 Windows SDK。 它与 Windows OS 版本相关联,当你需要access最新 OS 功能、低级别系统 API 或 DirectX 等硬件功能时,它是正确的选择。
Windows App SDK
Windows App SDK是一种基于 Windows SDK 构建的新式 SDK。 它以 NuGet 包的形式交付并脱离 OS,它提供 API 和工具(包括 WinUI、应用生命周期、窗口化和通知),比 Windows 本身的发布周期更快。 WinUI 直接在Windows App SDK上构建,还可以将其 API 集成到面向 Windows 的框架(如 WPF、Windows Forms、Win32 和其他框架中)。 它支持Windows 10(1809)及更高版本。
选择应用框架
WinUI
WinUI 是用于生成新式 Windows 应用的推荐本机 UI 框架。 WinUI 基于
其他框架
Windows 还支持用于构建桌面应用的各种其他本机和跨平台框架。
WPF
WPF是一个基于 XAML 的框架,适用于基于.NET构建的 Windows 桌面应用。 它提供了一组全面的功能,包括控件、数据绑定、布局、图形和样式。 如果你有现有的WPF应用,则可以使用 Windows App SDK对其进行现代化。
Windows Forms
Windows Forms是一个快速的应用程序开发平台,适用于具有拖放视觉设计器和大量内置控件的.NET。 这是快速构建业务线和数据驱动型桌面应用的绝佳选择。 可以使用 Windows App SDK 实现现有Windows Forms应用的现代化。
开始使用 Windows Forms →
Win32
Win32桌面应用(也称为经典桌面应用)使用 C++ 直接访问 Windows 和硬件。 对于需要最高级别的性能、硬件级优化和 DirectX access的应用,这是最佳选择。 可以使用C++/WinRT来现代化访问Windows Runtime API。
UWP
Universal Windows 平台(UWP)为所有 Windows 设备系列中的应用提供通用 API 表面。 现有 UWP 应用继续正常运行,但要利用 WinUI 和 Windows App SDK 中的最新功能,请考虑迁移您的应用。
开始使用 UWP →
功能对比
| 功能 | WinUI | WPF | Windows Forms | .NET MAUI | React Native | UWP | Win32 |
|---|---|---|---|---|---|---|---|
| 语言 | C#、C++ | C#、Visual Basic | C#、Visual Basic | C# | JavaScript、TypeScript | C#、C++、Visual Basic | C++、Rust |
| UI 语言 | XAML | XAML | Code | XAML/代码 | JSX | XAML | Code |
| UI 设计器 (拖拽) | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ |
| 新式 UI | ✅ | ✅ (Fluent theme) | ❌ | ✅ | ✅ | ✅ (WinUI 2) | ❌ |
| 跨平台 | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ |
| 沙盒 (AppContainer) | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ |
| 积极维护中 | ✅ | ✅ | ✅ | ✅ | ✅ | ⚠️ 仅限安全与漏洞修复 | ✅ |