.NET MAUI 6 正式 GA:一套代码支持多平台原创
2年前
273111
微软宣布 .NET MAUI 已正式 GA。
.NET MAUI (.NET Multi-platform App UI) 是一个跨平台 UI 框架(前身是 Xamarin.Forms),用于通过 C# 和 XAML 创建原生移动和桌面应用。基于 .NET MAUI,开发者可在单个共享代码库中创建同时支持 Android、iOS、macOS 和 Windows 的原生应用。
微软在公告中表示,此版本是他们实现统一 .NET 平台目标的新里程碑,为打造更广泛的 .NET 生态奠定了基础,并将 .NET Framework 和旧项目系统中的插件、库和服务引入到了 .NET 6 和 SDK 样式项目中。其中包括:
AndroidX
AlohaKit
CommunityToolkit.MVVM
CommunityToolkit.Maui
CommunityToolkit MauiCompat
CommunityToolkit Markup.MauiCompat
DevExpress
Facebook
FreshMvvm.Maui Google APIs for iOS
Google Play Services Client Libraries
GrialKit
MauiAnimation
Microsoft.Maui.Graphics
MR.Gestures
Prism.Maui
Plugin.Fingerprint
Plugin.InAppBilling Plugin.StoreReview
Plugin.ValidationRules
ReactiveUI.Maui
Shiny
SkiaSharp
Syncfusion
Telerik UI for .NET MAUI
TemplateUI
User Dialogs
按照发布计划,.NET MAUI 的主要版本将在后续版本(下一个大版本)发布后至少 6 个月内获得支持。例如,.NET MAUI 6.0 将在 .NET MAUI 7.0 发布后的 6 个月内得到支持。同样,.NET MAUI 7.0 将在 .NET MAUI 8.0 发布后的 6 个月内获得支持。
未来,.NET MAUI 将与 .NET 保持一致的发布节奏,即 .NET MAUI 7.0 将与 .NET 7.0 一起发布,.NET MAUI 8.0 将随 .NET 8.0 一起发布。
.NET MAUI 亮点
开箱即用的原生 UI
针对不同平台(Android、iOS、macOS 和 Windows),.NET MAUI 分别提供了专门设计且开箱即用的最佳应用体验。例如,Windows 上的 .NET MAUI 获得了 WinUI 3 的支持,WinUI 3 是与 Windows App SDK 一起提供的首选原生 UI 组件。
丰富的 API
.NET MAUI 提供了简单的 API 来访问每个平台的服务和功能,例如加速度计、应用程序操作、文件系统、通知等。在下面的示例中,通过配置 “app actions” ,即可为每个平台上的应用程序图标添加菜单选项:
AppActions.SetAsync(
new AppAction("current_info", "Check Current Weather", icon: "current_info"),
new AppAction("add_location", "Add a Location", icon: "add_location")
);
提升生产力
.NET MAUI 使用 .NET 6 引入的 C# 10 新特性,包括全局 using 语句和文件范围命名空间 —— 非常有助于减少文件中的混乱。.NET MAUI 以 “单一项目” 为重点,将多平台目标提升到了一个新的水平。
在新的 .NET MAUI 项目中,平台被放置在一个子文件夹中,开发者可将重点放在花费大部分精力的应用程序上。在项目的 Resources 文件夹中,开发者可以在一个地方管理应用程序的字体、图像、应用程序图标、启动画面、原始资源和样式。.NET MAUI 将针对每个平台的独特要求进行优化。
将 Blazor 带入桌面和移动设备
.NET MAUI 集成了 Blazor,因此开发者可以直接在原生的移动和桌面应用程序中重用现有的 Blazor Web UI 组件。借助 .NET MAUI 和 Blazor,开发者可以重用 Web 开发技能来构建跨平台的原生客户端应用程序,并构建跨移动、桌面和 Web 的单独 UI。
性能优化
.NET MAUI 专为提高性能而设计。.NET MAUI 中的 UI 控件在原生平台控件上实现了一种精简的、解耦的处理程序映射器模式 —— 这减少了 UI 渲染中的层数,并简化了控件定制。
默认情况下会启用这些设置,以提供优化了性能的 release 版本。
点赞收藏