徐九 · 2022年05月31日

.NET MAUI 6 正式 GA:一个代码库,多个平台

近日,微软官宣 .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。

默认情况下,这些设置是启用的,以便为发布版本提供这些优化。

推荐阅读
关注数
4177
内容数
826
SegmentFault 思否旗下人工智能领域产业媒体,专注技术与产业,一起探索人工智能。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息