使用 .NET MAUI 生成 Windows 应用

.NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和(可选)XAML 创建本机移动和桌面应用。 使用 .NET MAUI,可以从单个共享代码库开发可在 Windows、Android、iOS、macOS 和 Samsung Tizen 上运行的应用。 如果使用 .NET MAUI 生成 Windows 应用,该应用将使用 WinUI 3 作为其原生平台,因此在 Windows 10 版本 1809 或更高版本以及 Windows 11 上运行。

为什么在 Windows 上使用 .NET MAUI?

使用 .NET MAUI 生成适用于 Windows 的应用具有多项优势:

  • Windows 原生:.NET MAUI 在面向 Windows 时创建 WinUI 应用程序。 这意味着 .NET MAUI 应用将在 Windows 上提供与 Windows App SDK 应用程序相同的用户体验。
  • 代码形式的用户界面:.NET MAUI 社区工具包包含 C# 标记,这是一组用于通过 C# 代码构建用户界面的流畅辅助方法。 这实现了应用的 UI 和业务逻辑之间的关注点分离,就像使用 XAML 一样。 C# 标记可在 .NET MAUI 支持的所有平台上使用。
  • 跨平台:让 Windows 应用遍布所有受支持的平台,包括 Android、iOS、macOS 和 Samsung Tizen 设备。
  • 简单性:在可面向 .NET MAUI 支持的每个平台的单个共享项目中进行开发。
  • 热重载:使用 .NET MAUI 中的 .NET 热重载XAML 热重载支持节省调试时间。 在应用运行时进行编辑,并自动应用更改。
  • 原生 API:.NET MAUI 为每个平台上的原生功能提供跨平台 API。 对于 .NET MAUI 的跨平台 API 中不可用的原生 API,可以调用特定于平台的代码

如果计划为 Windows 生成新应用,并希望面向其他平台,则应考虑使用 .NET MAUI。 如果应用仅面向 Windows,则有一些充分的理由继续使用 Windows 应用 SDK:

  • 熟悉:.NET MAUI XAML 和 Windows应用 SDK XAML 有一些区别。 如果你熟悉 UWP 和 Windows 应用 SDK 中的 XAML,在 .NET MAUI 控件和 XAML 语法方面便会有一些学习曲线。
  • 原生控件:.NET MAUI 目前不支持使用 Windows 应用 SDK 控件。 如有其他 Windows 应用 SDK 项目的现有控件,你打算重复使用或依赖于第三方或开放源代码控件,则需要寻找 .NET MAUI 项目的替代项。
  • 更接近 Windows:编写 .NET MAUI 应用时,它会输出一个 Windows 应用 SDK 应用,但需要从代码到原生 Windows 应用进行一些转换。 借助 Windows 应用 SDK,可以消除该转换步骤,并且不太可能遇到样式、API 兼容性或布局方面的问题。

面向 Windows 开发人员的 .NET MAUI 资源

.NET MAUI 文档

.NET MAUI 文档包含用于了解每个平台(包括 Windows)的 .NET MAUI 开发的资源。

WinUI 文档

浏览 WinUI 文档,了解 WinUI 的功能。

.NET Conf:重点关注 MAUI

这个 2022 年 8 月的一日直播邀请了来自 Microsoft 和 .NET MAUI 开发者社区的演讲者。 了解如何生成应用并听取团队在生成 .NET MAUI 方面的说法。

.NET MAUI 博客文章

GitHub

.NET MAUI 文档是开源的,托管在 GitHub 上。 使用 .NET MAUI 存储库提交功能请求或 bug、与开发团队交互并浏览 Wiki

代码示例

示例浏览器或 GitHub(网址为 dotnet/maui-samples)上浏览 .NET MAUI 代码示例。

演示特定任务的示例

示例名称/链接 任务
动画 使用动画可使你的应用生动逼真
行为 添加功能时无需使用行为进行子类化,而是将行为类附加到控件
控件模板 定义 ContentView 派生的自定义控件和 ContentPage 派生的页面的可视结构
数据绑定 将对象绑定到实际 UI 元素,当其中一个元素发生更改时,会迅速更新另一个元素
Shell 应用 使用 .NET Shell 应用可降低复杂性、重复使用代码并将现有 Windows 功能(例如 URI 导航和集成搜索栏)集成到应用中
触发器 当事件或数据发生更改时,使用触发器有选择地更新、隐藏或显示特定控件

开始使用 Windows 上的 .NET MAUI

若要开始使用 Windows 上的 .NET MAUI,请安装 Visual Studio 2022 版本 17.3 或更高版本。

安装或修改 Visual Studio 时,选择“.NET 多平台应用 UI 开发”工作负载,并选择默认的可选安装选项。 有关在 Visual Studio 中管理工作负载的详细信息,请参阅修改 Visual Studio 工作负载、组件和语言包。 如果使用的是 Visual Studio Code 和 .NET CLI,则将使用 dotnet workload 命令进行工作负载管理。

如果尚未在电脑上启用开发模式,请参阅启用设备进行开发。 如果未启用,Visual Studio 会在你尝试在 Windows 上运行第一个 .NET MAUI 项目时提示启用开发模式。

后续步骤

查看在 Windows 上创建第一个 .NET MAUI 应用的演练。

什么是 .NET MAUI

.NET MAUI 支持的平台

WinUI 概述

.NET MAUI 社区工具包文档