1. 程式人生 > 程式設計 >.NET跨平臺應用MAUI介紹

.NET跨平臺應用MAUI介紹

您可以使用 .NET 構建任何內容。這是數百萬開發人員選擇 .NET 作為其職業生涯的平臺,以及公司為其業務進行投資的主要原因之一。通過 .NET 5,我們開始了統一 .NET 平臺的旅程,將 .NET Core 和 Mono/Xamarin 整合在一個基類庫 (BCL) 和工具鏈 (SDK) 中。

當我們考慮在統一的 .NET 中構建裝置應用程式的外觀時,我們看到許多裝置跨多個平臺使用,從 和 iOS 到 Windows 和 macOS。為了滿足這一需求,我們很高興地宣佈一個新的一流的UI框架,這樣做:.NET多平臺應用程式UI,親切地稱為.NET MAUI。

讓我們向您介紹 .NET MAUI 是什麼、單個專案開發人員體驗、現代開發模式,以及展望未來的旅程。

.NET跨平臺應用MAUI介紹

MAUI overview

什麼是 .NET MAUI

.NET MAUI 是越來越受歡迎的 Xamarin.Forms 工具包的演進,本月將滿 6 歲。多年來,UPS、安永和達美等公司一直在利用Xamarin的移動專業知識,在.NET上為其業務提供動力;一些從一開始。它還非常成功,幫助小型企業最大化其開發投資共享超過 95% 的程式碼,並擊敗競爭對手推向市場。.NET MAUI 在移動裝置上擴充套件了這一成功,以擁抱桌面,使其成為在兩者(尤其是新裝置(如新 Surface Duo)之間構建多平臺應用程式的最佳方式。

.NET MAUI 簡化了 .NET 開發人員的選擇,提供了支援所有現代工作負載的單堆疊:Android、iOS、macOS 和 Windows。在簡單的跨平臺 API 中,每個平臺和 UI 控制元件的本機功能都觸手可及,使您能夠提供不折不扣的使用者體驗,同時共享比以前更多的程式碼。

單個專案開發人員體驗

.NET MAUI 的構建考慮到了開發人員的工作效率,包括開發人員所需的專案系統和跨平臺工具。.NET MAUI 將專案結構簡化為單個專案,以定位多個平臺。這意味著只需單擊一下,您可以輕鬆地部署到任何目標,包括桌面、模擬器、模擬器或物理裝置。使用內建的跨平臺資源,您將能夠將任何影象、字型或翻譯檔案新增到單個專案中,.NET MAUI 將自動設定本機掛鉤,以便您可以進行編碼。最後,您始終可以訪問本機基礎 API,並且使用新的特定於平臺的整合將比以往更加容易。在平臺下,您可以http://www.cppcns.com為特定作業系統新增原始碼檔案並訪問本機 API。使用 .NET MAUI,一切都位於一個地方,您需要它來保持高效工作。

.NET MAUI Single Project

這提供:

  • 一個面向多個平臺和裝置的專案
  • 管理資源(如字型和影象)的一個位置
  • 多目標組織特定於平臺的程式碼
    您掌握一種構建客戶端應用的方法,MAUI 方式,並且所有平臺都在您觸手可及。今天,斯科特·漢塞爾曼和我將演示它在行動在建設,旅程一個.NET。

現代應用模式

一個 .NET qpWnpCiWrQ願景的一部分是在個人偏好領域提供開發人員選擇,因此您可以最有效地使用 .NET。在 IDE 中,無論是 Visual Studio 2019、Mac 的視覺化工作室,甚至是視覺工作室程式碼,您都使用 IDE。.NET MAUI 將在所有這些模式下可用,並支援現有的 MVVM 和 XAML 模式,以及將來的功能,如使用 C# 的模型檢視更新 (MVU),甚至 Blazor。

MVVM

模型檢視-檢視模型 (MVVM) 和 XAML 是 .NET 開發人員數十年來的主要模式和實踐,是 .NET MAUI 中的一流功能。這將繼續發展,以幫助您高效地構建和維護生產應用。

<StackLayout>
    <Label Text="Welcome to .NET MAUI!" />
    <Button Text="{Binding Text}" 
            Command="{Binding ClickCommand}" />
</StackLayout>
public Command ClickCommand { get; }

public string Text { get; set; } = "Click me";

int count = 0;

void ExecuteClickCommand ()
{
    count++;
    Text = $"You clicked {count} times.";
}

MVU

此外,我們還使開發人員能夠編寫流暢的 C# UI,並實現日益流行的模型檢視更新 (MVU) 模式。MVU 促進資料和狀態管理的單向流,以及程式碼優先開發體驗,只需應用必要的更改,才能快速更新 UI。有關 MVU 作為模式的詳細資訊,請檢視此Elm 指南和托馬斯·班特的部落格。

下面是以 .NET MAUI 編寫的 MVU 樣式中的一個基本反示例。

readonly State<int> count = 0;

[Body]
View body() => new StackLayout
{
    new Label("Welcome to .NET MAUI!"),new Button(
        () => $"You clicked {count} times.",() => count.Value ++)
    )
};

此模式非qpWnpCiWrQ常適合熱重新載入,因為下面您可以看到新增的樣式、漸變和字型,並隨 C# 的即時熱重新載入。

.NET跨平臺應用MAUI介紹

MAUI model-view-update

MVVM 和 MVU 都提供相同的本機應用程式、效能和平臺保真度。開發人員將能夠選擇最適合其偏好和用例的樣式。

從 Xamarin.Forms 轉換到 .NET MAUI

Xamarin.Forms 開發人員將使用 .NET MAUI 中的新專案進行執行,使用他們已成長為和喜愛的所有相同的控制元件和 API。隨著我們越來越接近 .NET MAUI 的釋出,為了幫助開發人員將現有應用程式順利過渡到 .NET MAUI,我們打算提供嘗試轉換支援和遷移指南,類似於我們今天遷移到 .NET Core 時的支援和遷移指南。

.NET MAUI 時間線

我們將在今年晚些時候開始發貨 .NET MAUI 預覽版,並在 2021 年 11 月以 .NET 6 為目標的通用性。.NET MAUI 將在同 6 周節奏上發貨 Xamarin.Forms 已開啟。我們已經在 上釋出了MAUI 路線圖,並邀請您立即加入我們!

Xamarin 和 Xamarin 的下一步內容。

作為 .NET 統一的一部分,Xamarin.iOS 和 Xamarin.Android 將成為 .NET 6 的一部分,作為 iOS 的 .NET 和用於 Android 的 .NET。由於這些繫結是從蘋果和谷歌發貨的 SDK 的投影,因此不會有任何變化,因此構建工具、目標框架名字和執行時框架名字將更新以匹配所有其他 .NET 6 工作負載。我們承諾讓 .NET 開發人員瞭解最新的移動 SDK,這是 .NET MAUI 的基礎,並且仍然堅定不良。當 .NET 6 船舶時,我們期望以當前的形式最終釋出 Xamarin Sdk,服務一年。當時所有現代作品都將轉移到.NET 6。

Xamarin.Forms將於今年晚些時候釋出新的主要版本,並繼續在2021年11月通過.NET 6 GA每6周釋出一次小型和服務版本。Xamarin.Forms 的最終版本將在發貨後一年內投入使用,所有現代工作將轉移到 .NET MAUI。

到此這篇關於.NET跨平臺應用MAUI介紹的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支援我們。