近日,微软官宣 .NET MAUI 已正式 GA。
“一个代码库,多个平台。现在,超过 500 万 .NET 开发人员拥有面向 Android、iOS、macOS 和 Windows 的一流跨平台 UI 堆栈,以补充 .NET 工具链 (SDK) 和基类库 (BCL)。你可以使用 .NET 构建任何东西。”
微软称,这只是创建令 .NET 开发人员满意的桌面和移动应用程序体验之旅的开始,为打造更广泛的 .NET 生态系统奠定了基础,并将 .NET Framework 和旧项目系统中的插件、库和服务引入 .NET 6 和 SDK 样式项目中。
其中包括:
下面具体看一下 .NET MAUI 有哪些亮点。
开箱即用的原生 UI
针对不同平台(Android、iOS、macOS 和 Windows),.NET MAUI 分别提供了专门设计且开箱即用的最佳应用体验。例如,Windows 上的 .NET MAUI 由 WinUI 3 提供支持,WinUI 3 是 Windows 应用 SDK 附带的原生 UI 组件。
使用 C# 和 XAML 从包含 40 多个控件、布局和页面的丰富工具包生成应用。在移动控件的 Xamarin 肩膀上,.NET MAUI 增加了对多窗口桌面应用程序、菜单栏和新的动画功能、边框、角、阴影、图形等的支持。
可访问性优先
使用原生 UI 的一个主要优点是继承的可访问性支持,我们可以利用语义服务构建这些支持,以便更轻松地创建高度可访问的应用程序。 .NET MAUI 语义服务用于控制:
- 描述、提示和标题级别等属性
- 重点
- 屏幕阅读器
- 自动化属性
超越用户界面
.NET MAUI 提供了简单的 API 来访问每个平台的服务和功能,例如加速计、应用操作、文件系统、通知等。在下面的示例中,通过配置 “app actions” ,即可为每个平台上的应用程序图标添加菜单选项:
轻松定制
无论是扩展 .NET MAUI 控件的功能,还是建立新的平台功能,.NET MAUI 都是针对可扩展性而设计的。以控件为例,这是在一个平台上以不同方式呈现不同效果的控件的典型例子。Android 会在文本字段下方画一条下划线,开发者通常希望删除该下划线。使用 .NET MAUI,只需几行代码即可自定义整个项目中的一切。
现代化的开发生产力
.NET MAUI 使用 .NET 6 引入的 C# 10 功能,包括全局使用语句和文件范围命名空间,非常有助于减少文件中的混乱。.NET MAUI 以 “单一项目” 为重点,将多平台目标提升到了一个新的水平。
在新的 .NET MAUI 项目中,平台被放置在一个子文件夹中,开发者可将重点放在花费大部分精力的应用程序上。在项目的 Resources 文件夹中,开发者可以在一个地方管理应用程序的字体、图像、应用程序图标、启动画面、原始资源和样式。.NET MAUI 将针对每个平台的独特要求进行优化。
将 Blazor 引入桌面和移动设备
.NET MAUI 集成了 Blazor,因此开发者可以直接在原生移动和桌面应用程序中重用现有的 Blazor Web UI 组件。借助 .NET MAUI 和 Blazor,开发者可以重用 Web 开发技能来构建跨平台的原生客户端应用程序,并构建 UI 一致的跨移动、桌面和 Web 的应用
性能优化
.NET MAUI 专为提高性能而设计。.NET MAUI 中的 UI 控件在原生平台控件上实现了一种精简的处理程序映射器模式。这减少了 UI 渲染中的层数,并简化了控件定制。.NET MAUI 中的布局已设计为使用一致的管理器模式,该模式可优化度量值并排列循环,以便更快地呈现和更新 UI。
默认情况下,这些设置是启用的,以便为发布版本提供这些优化。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。