.NET MAUI 6 正式 GA:一套代码支持多平台

来源: OSCHINA
编辑:
2022-05-24 11:18:00

微软宣布 .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 版本。

点此查看更多细节

展开阅读全文
点击加入讨论🔥(53) 发布并加入讨论🔥
本篇精彩评论
国外 xamarin 一直很火,兼容性也最好(flutter 就是弱鸡),现在更名为 MAUI 了,也更统一了,也是一次重生,值得推荐!
2022-05-24 11:41
14
举报
当年vscode刚出来的时候一堆人吊打鄙视,说不如这个不如那个,如今呢,不敢说能一统江湖,但vscode和visual studio市场占比远超其它ide 。vs的服务版更加是牛逼的设想,虽然不是它独创,但是做的真到位,随处随时coding。mono当初并不是微软的产品,后来被收购其实是为微软迈出跨平台做基石的,印度人上台在跨平台上做足了功夫,但需要时间过度,尤其是net基础框架,这个工程量非常的大,如今.net6已然成熟,做好准备了,后续的7、8必然埂上一个台阶。
2022-05-25 09:34
8
举报
一直很火?,兼容性很好?我以前还在收钱的时候就开始用了,有的时候一个bug要几个月才有人解决。
2022-05-24 15:17
5
举报
你看开局第一张图,这个Linux没有官方支持的
2022-05-24 13:19
5
举报
Flutter 和 React Native 强劲对手来了~~
2022-05-24 11:27
4
举报
53 评论
17 收藏
分享
返回顶部
顶部