微軟宣布 .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/