溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

.NET怎么實(shí)現(xiàn)跨平臺(tái)應(yīng)用MAUI

發(fā)布時(shí)間:2022-02-07 15:23:55 來(lái)源:億速云 閱讀:134 作者:iii 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹“.NET怎么實(shí)現(xiàn)跨平臺(tái)應(yīng)用MAUI”,在日常操作中,相信很多人在.NET怎么實(shí)現(xiàn)跨平臺(tái)應(yīng)用MAUI問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”.NET怎么實(shí)現(xiàn)跨平臺(tái)應(yīng)用MAUI”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

MAUI overview

什么是 .NET MAUI

.NET MAUI 是越來(lái)越受歡迎的 Xamarin.Forms 工具包的演進(jìn),本月將滿(mǎn) 6 歲。多年來(lái),UPS、安永和達(dá)美等公司一直在利用Xamarin的移動(dòng)專(zhuān)業(yè)知識(shí),在.NET上為其業(yè)務(wù)提供動(dòng)力;一些從一開(kāi)始。它還非常成功,幫助小型企業(yè)最大化其開(kāi)發(fā)投資共享超過(guò) 95% 的代碼,并擊敗競(jìng)爭(zhēng)對(duì)手推向市場(chǎng)。.NET MAUI 在移動(dòng)設(shè)備上擴(kuò)展了這一成功,以擁抱桌面,使其成為在兩者(尤其是新設(shè)備(如新 Surface Duo)之間構(gòu)建多平臺(tái)應(yīng)用程序的最佳方式。

.NET MAUI 簡(jiǎn)化了 .NET 開(kāi)發(fā)人員的選擇,提供了支持所有現(xiàn)代工作負(fù)載的單堆棧:Android、iOS、macOS 和 Windows。在簡(jiǎn)單的跨平臺(tái) API 中,每個(gè)平臺(tái)和 UI 控件的本機(jī)功能都觸手可及,使您能夠提供不折不扣的用戶(hù)體驗(yàn),同時(shí)共享比以前更多的代碼。

單個(gè)項(xiàng)目開(kāi)發(fā)人員體驗(yàn)

.NET MAUI 的構(gòu)建考慮到了開(kāi)發(fā)人員的工作效率,包括開(kāi)發(fā)人員所需的項(xiàng)目系統(tǒng)和跨平臺(tái)工具。.NET MAUI 將項(xiàng)目結(jié)構(gòu)簡(jiǎn)化為單個(gè)項(xiàng)目,以定位多個(gè)平臺(tái)。這意味著只需單擊一下,您可以輕松地部署到任何目標(biāo),包括桌面、仿真器、模擬器或物理設(shè)備。使用內(nèi)置的跨平臺(tái)資源,您將能夠?qū)⑷魏螆D像、字體或翻譯文件添加到單個(gè)項(xiàng)目中,.NET MAUI 將自動(dòng)設(shè)置本機(jī)掛鉤,以便您可以進(jìn)行編碼。最后,您始終可以訪問(wèn)本機(jī)基礎(chǔ)操作系統(tǒng) API,并且使用新的特定于平臺(tái)的集成將比以往更加容易。在平臺(tái)下,您可以為特定操作系統(tǒng)添加源代碼文件并訪問(wèn)本機(jī) API。使用 .NET MAUI,一切都位于一個(gè)地方,您需要它來(lái)保持高效工作。

.NET MAUI Single Project

這提供:

  • 一個(gè)面向多個(gè)平臺(tái)和設(shè)備的項(xiàng)目

  • 管理資源(如字體和圖像)的一個(gè)位置

  • 多目標(biāo)組織特定于平臺(tái)的代碼
    您掌握一種構(gòu)建客戶(hù)端應(yīng)用的方法,MAUI 方式,并且所有平臺(tái)都在您觸手可及。今天,斯科特·漢塞爾曼和我將演示它在行動(dòng)在建設(shè),旅程一個(gè).NET。

現(xiàn)代應(yīng)用模式

一個(gè) .NET 愿景的一部分是在個(gè)人偏好領(lǐng)域提供開(kāi)發(fā)人員選擇,因此您可以最有效地使用 .NET。在 IDE 中,無(wú)論是 Visual Studio 2019、Mac 的可視化工作室,甚至是視覺(jué)工作室代碼,您都使用 IDE。.NET MAUI 將在所有這些模式下可用,并支持現(xiàn)有的 MVVM 和 XAML 模式,以及將來(lái)的功能,如使用 C# 的模型視圖更新 (MVU),甚至 Blazor。

MVVM

模型視圖-視圖模型 (MVVM) 和 XAML 是 .NET 開(kāi)發(fā)人員數(shù)十年來(lái)的主要模式和實(shí)踐,是 .NET MAUI 中的一流功能。這將繼續(xù)發(fā)展,以幫助您高效地構(gòu)建和維護(hù)生產(chǎn)應(yīng)用。

<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

此外,我們還使開(kāi)發(fā)人員能夠編寫(xiě)流暢的 C# UI,并實(shí)現(xiàn)日益流行的模型視圖更新 (MVU) 模式。MVU 促進(jìn)數(shù)據(jù)和狀態(tài)管理的單向流,以及代碼優(yōu)先開(kāi)發(fā)體驗(yàn),只需應(yīng)用必要的更改,才能快速更新 UI。有關(guān) MVU 作為模式的詳細(xì)信息,請(qǐng)查看此Elm 編程指南和托馬斯&middot;班特的博客。

下面是以 .NET MAUI 編寫(xiě)的 MVU 樣式中的一個(gè)基本反示例。

readonly State<int> count = 0;

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

此模式非常適合熱重新加載,因?yàn)橄旅婺梢钥吹教砑拥臉邮?、漸變和字體,并隨 C# 的即時(shí)熱重新加載。

.NET怎么實(shí)現(xiàn)跨平臺(tái)應(yīng)用MAUI

MAUI model-view-update

MVVM 和 MVU 都提供相同的本機(jī)應(yīng)用程序、性能和平臺(tái)保真度。開(kāi)發(fā)人員將能夠選擇最適合其偏好和用例的樣式。

從 Xamarin.Forms 轉(zhuǎn)換到 .NET MAUI

Xamarin.Forms 開(kāi)發(fā)人員將使用 .NET MAUI 中的新項(xiàng)目進(jìn)行運(yùn)行,使用他們已成長(zhǎng)為和喜愛(ài)的所有相同的控件和 API。隨著我們?cè)絹?lái)越接近 .NET MAUI 的發(fā)布,為了幫助開(kāi)發(fā)人員將現(xiàn)有應(yīng)用程序順利過(guò)渡到 .NET MAUI,我們打算提供嘗試轉(zhuǎn)換支持和遷移指南,類(lèi)似于我們今天遷移到 .NET Core 時(shí)的支持和遷移指南。

.NET MAUI 時(shí)間線

我們將在今年晚些時(shí)候開(kāi)始發(fā)貨 .NET MAUI 預(yù)覽版,并在 2021 年 11 月以 .NET 6 為目標(biāo)的通用性。.NET MAUI 將在同 6 周節(jié)奏上發(fā)貨 Xamarin.Forms 已打開(kāi)。我們已經(jīng)在 GitHub 上發(fā)布了MAUI 路線圖,并邀請(qǐng)您立即加入我們!

Xamarin 和 Xamarin 的下一步內(nèi)容。

作為 .NET 統(tǒng)一的一部分,Xamarin.iOS 和 Xamarin.Android 將成為 .NET 6 的一部分,作為 iOS 的 .NET 和用于 Android 的 .NET。由于這些綁定是從蘋(píng)果和谷歌發(fā)貨的 SDK 的投影,因此不會(huì)有任何變化,因此構(gòu)建工具、目標(biāo)框架名字和運(yùn)行時(shí)框架名字將更新以匹配所有其他 .NET 6 工作負(fù)載。我們承諾讓 .NET 開(kāi)發(fā)人員了解最新的移動(dòng) SDK,這是 .NET MAUI 的基礎(chǔ),并且仍然堅(jiān)定不良。當(dāng) .NET 6 船舶時(shí),我們期望以當(dāng)前的形式最終發(fā)布 Xamarin Sdk,服務(wù)一年。當(dāng)時(shí)所有現(xiàn)代作品都將轉(zhuǎn)移到.NET 6。

Xamarin.Forms將于今年晚些時(shí)候發(fā)布新的主要版本,并繼續(xù)在2021年11月通過(guò).NET 6 GA每6周發(fā)布一次小型和服務(wù)版本。Xamarin.Forms 的最終版本將在發(fā)貨后一年內(nèi)投入使用,所有現(xiàn)代工作將轉(zhuǎn)移到 .NET MAUI。

到此,關(guān)于“.NET怎么實(shí)現(xiàn)跨平臺(tái)應(yīng)用MAUI”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI