微软宣布 .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 样式项目中。其中包括:
按照发布计划,.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 版本。
点此查看更多细节:https://devblogs.microsoft.com/dotnet/introducing-dotnet-maui-one-codebase-many-platforms/https://devblogs.microsoft.com/dotnet/introducing-dotnet-maui-one-codebase-many-platforms/