11 月 30 日消息,據微軟中國 MSDN 發布,.NET 多平臺應用程序 UI (.NET MAUI) 可以使用單個代碼庫為 Windows、macOS、iOS 和 Android 構建本機客戶端應用程序,并為 Blazor 混合方案提供本機容器和控件。.NET MAUI 是 Visual Studio 中的一個框架,它抽象了已經可用的本機 UI 框架 ——WinUI for Windows、Mac Catalyst for macOS/iPadOS、iOS 和 Android。盡管它不是另一個本機 UI 框架,但仍有大量工作需要在這些設備上提供最佳開發和運行時體驗。
.NET 團隊一直在與社區一起努力的開發,微軟致力于它的發布。遺憾的是,.NET MAUI 將無法在 11 月與 .NET 6 GA 一起發布。微軟希望在第一天就為用戶提供最佳體驗、性能和質量,為此,微軟需要推遲時間表。IT之家獲悉,微軟現在的目標是在 2022 年第二季度初推出 .NET MAUI 。
與此同時,微軟將繼續增強 Xamarin 并推薦它用于構建生產移動應用程序,并繼續發布 .NET MAUI 的月度預覽。微軟計劃為 .NET MAUI 提供的所有功能將在 11 月 .NET 6 發布時提供,但微軟將繼續努力提高質量并解決客戶反饋。微軟鼓勵你嘗試預覽。.NET 升級助手還將支持將 Xamarin 項目升級到 .NET MAUI。
.NET 6 RC1 是最終版本之前的版本,這意味著你可以在生產中使用它并獲得支持。這不包括 .NET MAUI 包。.NET MAUI 包的下一個版本,當 .NET 6 RC2 發布時,將在版本中顯示“預覽”。
.NET 多平臺應用程序 UI (.NET MAUI)
https://github.com/dotnet/maui
.NET MAUI 預覽版 8 亮點
.NET MAUI 的 9 月預覽版完成了一些重要的 Visual Studio 集成,即在 Visual Studio 2022 安裝程序中將 .NET MAUI 作為工作負載安裝,并將 Windows 平臺折疊到微軟的單一、多目標項目中。借助 Visual Studio 2022 預覽版 4,你現在可以通過 C# 和 XAML 使用更廣泛的熱重載支持,以及新的 XAML 實時預覽面板,以打造高效、專注的開發環境。在 .NET MAUI SDK 本身中,預覽 8 包括對應用程序啟動模式的更新、擴展處理程序的能力,以及在微軟接近功能完整性時的其他各種新控件功能。
Visual Studio 2022 生產力
安裝 Visual Studio 2022 時,你現在可以在使用 .NET 工作負載的移動開發中檢查 .NET MAUI(預覽版)。這將引入 .NET 6 以及可選的工作負載依賴項:Android、iOS 和 Mac Catalyst。以桌面為目標時,你還需要選擇使用 .NET、UWP 的桌面開發和使用 C++ 工作負載的桌面開發。
安裝后,.NET MAUI 模板和 Visual Studio 的功能都可用。實時預覽將在 Visual Studio 窗口中的面板中鏡像你正在運行的應用程序,你可以停靠在最方便的任何位置。該面板支持放大和縮小以關注 UI 的每個細節,在水平和垂直軸上對齊元素的指南,并且在某些平臺上,你可以懸停并選擇 UI 元素以獲取大小和距離信息。
XAML 熱重載現在適用于 Android、iOS(在 Windows 上通過熱重啟或遠程構建主機)和 Windows。.NET Hot Restart 也在 Android、iOS 和 Windows 上與 XAML Hot Reload 協同工作。
創建新項目時,你現在會在 Platforms 文件夾中看到 Windows 平臺與 Android、iOS 和 Mac Catalyst 并列。要使用 Windows,首先需要安裝適用于 Visual Studio 2022 的 Windows App SDK 擴展,然后取消注釋 csproj 文件頂部的 TargetFramework 節點。在未來的版本中,默認情況下,這將通過 .NET MAUI 預安裝的擴展程序提供。
.NET MAUI SDK 更新
你遷移現有應用程序最顯著的更新是微軟如何實現 .NET Host Builder 模式。微軟現在與 ASP.NET 和 Blazor 如何使用創建并返回 MauiApp 的 MauiProgram 類保持一致。現在每個平臺都調用 MauiProgram.CreateMauiApp。將現有項目與新模板或 pull request 進行比較,以查看對 Android/MainApplication.cs、iOS/AppDelegate.cs 和 macCatalyst/AppDelegate.cs 的這些更改。
示例 MauiProgram:
public static class MauiProgram{public static MauiApp CreateMauiApp(){var builder = MauiApp.CreateBuilder();builder.UseMauiApp().ConfigureFonts(fonts =>{fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");});return builder.Build();}}
安卓示例 MainApplication:
public class MainApplication : MauiApplication{public MainApplication(IntPtr handle, JniHandleOwnership ownership): base(handle, ownership){}protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();}
pull request:
https://github.com/dotnet/maui/pull/2137
安卓更新
Android 12 (API 31) 現在是為 Android 構建的 .NET 6 應用程序的默認版本。要使用 Android 12,你需要手動安裝 JDK 11。一旦微軟更新 Visual Studio 中的 Android 工具以使用 JDK 11,微軟將默認將此依賴項與 .NET MAUI 捆綁在一起。在此之前,JDK 11 可能會對 Android 設計器、SDK 管理器和設備管理器產生不利影響。
Android 項目現在默認使用 MaterialTheme。確保 Platforms/Android/MainActivity.cs 指定 @style/Maui.SplashTheme 否則你可能會在 Android 上遇到運行時錯誤。例如,查看更新的 .NET MAUI 模板。
手動安裝 JDK 11:
https://github.com/xamarin/xamarin-android/wiki/JDK-11-Warning
更新的 .NET MAUI 模板:
https://github.com/dotnet/maui/blob/main/src/Templates/src/templates/maui-mobile/Platforms/Android/MainActivity.cs
其他變化
其他值得注意的變化包括:
MinHeightRequest、MaxHeightRequest、MinWidthRequest、MaxWidthRequest 已刪除“Request”后綴,布局系統現在將它們視為真實值
將行為附加到任何控件映射器的簡化方法 – #1859
Shell 主題樣式的各種改進
為 Android #2027 和 iOS #2029 添加了 RefreshView
添加絕對布局 #2136
添加了從右到左 (RTL) FlowDirection #948
添加 Button.Icon ImageSource #2079
#1859:
https://github.com/dotnet/maui/pull/1859
#2027:
https://github.com/dotnet/maui/pull/2027
#2029:
https://github.com/dotnet/maui/pull/2029
#2136:
https://github.com/dotnet/maui/pull/2136
#948:
https://github.com/dotnet/maui/pull/948
#2079:
https://github.com/dotnet/maui/pull/2079
準備好了嗎?打開 Visual Studio 2022 并創建一個新項目。搜索并選擇 .NET MAUI。
有關 .NET MAUI 入門的更多信息,請參閱微軟的文檔。
文檔:
https://docs.microsoft.com/zh-cn/dotnet/maui/get-started/installation
歡迎反饋
Visual Studio 2022 正在快速啟用 .NET MAUI 的新功能。當你在調試、部署和編輯器相關體驗方面遇到任何問題時,請使用“幫助”>“發送反饋”菜單報告你的體驗。
請通過 dotnet/maui 在 GitHub 上與微軟互動,讓微軟了解你使用 .NET MAUI 創建新應用程序的體驗。
要查看未來版本中的內容,請訪問微軟的產品路線圖,要了解功能完整性的狀態,請訪問微軟的狀態 wiki。
dotnet/maui:
https://github.com/dotnet/maui
產品路線圖:
https://github.com/dotnet/maui/wiki/roadmap
狀態 wiki:
https://github.com/dotnet/maui/wiki/status
【來源:IT之家 】