MAUI預覽版發布 (.NET 6 Preview2)


.NET 6

今天, 微軟發布了.NET 6 Preview2, 本次更新除了新的API、性能改進、Apple Silicon的構建, 還有就是主角MAUI的構建。
本篇文章主要介紹關於本次預覽版中MAUI當中帶來的一些已知的內容。

關於.NET 6的大部分工作, 預計會在7月完成, 之后,將專注與質量。最終將在2021年11月發布, 並將作為長期支持(LTS)版本提供三年的支持。與 .NET 5 相比,平台范圍顯著擴展。新增的有:

  • Android
  • Ios
  • Mac 和 Mac Catalyst, 用於 x64 和 Apple Silicon(M1)
  • Windows Arm64(特別是窗口桌面)

.NET 6(能力)

總而言之,言而總之, 在.NET 6中,您將能夠:

  • 使用.NET庫構建iOS,Android和macOS應用程序。
  • 使用.NET MAUI在相同的代碼庫中創建iOS,Android,Windows和macOS應用程序。
  • 跨平台共享更多代碼和資源(例如圖像,應用程序圖標/清單等)。
  • 在macOS和Windows上本地運行Blazor Web應用程序。
  • 輕松打包和分發您包含的所有目標框架的應用程序。

MAUI介紹

Xamarin的跨平台UI框架Xamarin.Forms正在演變為.NET多平台應用程序UI,使您可以使用相同的代碼庫輕松編寫適用於iOS,Android,Windows和macOS的應用程序。
.NET MAUI作為.NET 6的一部分提供,同時還進行了一系列性能和工具改進,例如.NET / C#Hot Reload,跨不同平台的更多共享資源和代碼,以及具有一組更靈活的UI控件的更好的頁面呈現性能。

.NET MAUI不僅適用於客戶端應用程序開發人員。得益於重構的控件集以及可以在.NET 6庫上運行的功能,您現有的Blazor應用程序可以通過.NET MAUI在Windows和macOS上本地運行。
您將能夠與Blazor代碼庫無縫結合本機控件和功能,包括特定於平台的功能。

本次MAUI更新內容

為安卓、iOS 和 Mac Catalyst 添加了.NET MAUI 和單個項目開發人員體驗。
這里可以下載: .NET 6 Preview2 SDK
注:要在今天使用此功能,請遵循示例存儲庫中的指導以從命令行進行構建和運行。 Visual Studio的未來版本將添加設備選擇和運行選項。

單文件多目標項目

在去年MAUI發布中, 我們了解到關於MAUI可以使用單個項目設置多個目標平台, 而不再是以往的多個目標平台單獨的項目, 如下所示:

現在,我們可以獲得可以在Android,iOS和macOS上運行的非常干凈的解決方案。
Windows支持取決於WinUI 3,在未來的預覽版當中Windows將添加到MAUI當中。

MAUI應用Host Builder一起引導您的應用程序

關於這種操作, 我們會發現與ASP.NET Core當中類似, 這里通過IAppHostBuilder接口擴展配置服務,字體和兼容性渲染器以擴展Xamarin.Forms項目遷移的擴展。
這種新模式還為庫作者和控件供應商提供了一個統一的地方,可與.NET MAUI.IWindow集成。

public class Application : MauiApp
{
    public override IAppHostBuilder CreateBuilder() => 
        base.CreateBuilder()
            .RegisterCompatibilityRenderers()
            .ConfigureServices((ctx, services) =>
            {
                services.AddTransient<MainPage>();
                services.AddTransient<IWindow, MainWindow>();
            })
            .ConfigureFonts((hostingContext, fonts) =>
            {
                fonts.AddFont("ionicons.ttf", "IonIcons");
            });

    public override IWindow CreateWindow(IActivationState state)
    {
        Microsoft.Maui.Controls.Compatibility.Forms.Init(state);
        return Services.GetService<IWindow>();
    }
}

關於新的控制處理程序

目前官方介紹了實現新處理程序方法的第一個控件和屬性。
這些包括Button,Label和Entry,Slider和Switch的部分實現。
以及目前微軟正在接受請求以填寫完整的實現,並且一些貢獻者已經成功地做出了貢獻。

本次更新示例項目演示

HelloMaui示例應用程序現在從單個項目運行到macOS,iOS和Android,其中展示了當前已移植的控件集。
注: 關於該示例, 請遵循示例存儲庫中的指導以從命令行進行構建和運行。 Visual Studio的未來版本將添加設備選擇和運行選項。

  • mac OS:

  • IOS:

  • Android:

在此版本中,移動SDK和周圍的工具也正在獲得功能。 這些功能將與將來的Visual Studio發行版集成在一起,並將繼續得到改進。

Android:

  • Android X庫現已可用於.NET 6,並且是Android應用程序的默認依賴項

iOS:

  • Windows上的開發人員可以使用遠程iOS模擬器
  • Windows上的開發人員可以連接到遠程Mac構建主機
  • 提前編譯已添加,可用於構建和部署到物理iOS硬件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM