.NET跨平臺應用MAUI介紹
您可以使用 .NET 構(gòu)建任何內(nèi)容。這是數(shù)百萬開發(fā)人員選擇 .NET 作為其職業(yè)生涯的平臺,以及公司為其業(yè)務進行投資的主要原因之一。通過 .NET 5,我們開始了統(tǒng)一 .NET 平臺的旅程,將 .NET Core 和 Mono/Xamarin 整合在一個基類庫 (BCL) 和工具鏈 (SDK) 中。
當我們考慮在統(tǒng)一的 .NET 中構(gòu)建設備應用程序的外觀時,我們看到許多設備跨多個平臺使用,從 Android 和 iOS 到 Windows 和 macOS。為了滿足這一需求,我們很高興地宣布一個新的一流的UI框架,這樣做:.NET多平臺應用程序UI,親切地稱為.NET MAUI。
讓我們向您介紹 .NET MAUI 是什么、單個項目開發(fā)人員體驗、現(xiàn)代開發(fā)模式,以及展望未來的旅程。
MAUI overview
什么是 .NET MAUI
.NET MAUI 是越來越受歡迎的 Xamarin.Forms 工具包的演進,本月將滿 6 歲。多年來,UPS、安永和達美等公司一直在利用Xamarin的移動專業(yè)知識,在.NET上為其業(yè)務提供動力;一些從一開始。它還非常成功,幫助小型企業(yè)最大化其開發(fā)投資共享超過 95% 的代碼,并擊敗競爭對手推向市場。.NET MAUI 在移動設備上擴展了這一成功,以擁抱桌面,使其成為在兩者(尤其是新設備(如新 Surface Duo)之間構(gòu)建多平臺應用程序的最佳方式。
.NET MAUI 簡化了 .NET 開發(fā)人員的選擇,提供了支持所有現(xiàn)代工作負載的單堆棧:Android、iOS、macOS 和 Windows。在簡單的跨平臺 API 中,每個平臺和 UI 控件的本機功能都觸手可及,使您能夠提供不折不扣的用戶體驗,同時共享比以前更多的代碼。
單個項目開發(fā)人員體驗
.NET MAUI 的構(gòu)建考慮到了開發(fā)人員的工作效率,包括開發(fā)人員所需的項目系統(tǒng)和跨平臺工具。.NET MAUI 將項目結(jié)構(gòu)簡化為單個項目,以定位多個平臺。這意味著只需單擊一下,您可以輕松地部署到任何目標,包括桌面、仿真器、模擬器或物理設備。使用內(nèi)置的跨平臺資源,您將能夠?qū)⑷魏螆D像、字體或翻譯文件添加到單個項目中,.NET MAUI 將自動設置本機掛鉤,以便您可以進行編碼。最后,您始終可以訪問本機基礎操作系統(tǒng) API,并且使用新的特定于平臺的集成將比以往更加容易。在平臺下,您可以為特定操作系統(tǒng)添加源代碼文件并訪問本機 API。使用 .NET MAUI,一切都位于一個地方,您需要它來保持高效工作。
.NET MAUI Single Project
這提供:
- 一個面向多個平臺和設備的項目
- 管理資源(如字體和圖像)的一個位置
- 多目標組織特定于平臺的代碼
您掌握一種構(gòu)建客戶端應用的方法,MAUI 方式,并且所有平臺都在您觸手可及。今天,斯科特·漢塞爾曼和我將演示它在行動在建設,旅程一個.NET。
現(xiàn)代應用模式
一個 .NET 愿景的一部分是在個人偏好領域提供開發(fā)人員選擇,因此您可以最有效地使用 .NET。在 IDE 中,無論是 Visual Studio 2019、Mac 的可視化工作室,甚至是視覺工作室代碼,您都使用 IDE。.NET MAUI 將在所有這些模式下可用,并支持現(xiàn)有的 MVVM 和 XAML 模式,以及將來的功能,如使用 C# 的模型視圖更新 (MVU),甚至 Blazor。
MVVM
模型視圖-視圖模型 (MVVM) 和 XAML 是 .NET 開發(fā)人員數(shù)十年來的主要模式和實踐,是 .NET MAUI 中的一流功能。這將繼續(xù)發(fā)展,以幫助您高效地構(gòu)建和維護生產(chǎn)應用。
<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
此外,我們還使開發(fā)人員能夠編寫流暢的 C# UI,并實現(xiàn)日益流行的模型視圖更新 (MVU) 模式。MVU 促進數(shù)據(jù)和狀態(tài)管理的單向流,以及代碼優(yōu)先開發(fā)體驗,只需應用必要的更改,才能快速更新 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 ++) ) };
此模式非常適合熱重新加載,因為下面您可以看到添加的樣式、漸變和字體,并隨 C# 的即時熱重新加載。
MAUI model-view-update
MVVM 和 MVU 都提供相同的本機應用程序、性能和平臺保真度。開發(fā)人員將能夠選擇最適合其偏好和用例的樣式。
從 Xamarin.Forms 轉(zhuǎn)換到 .NET MAUI
Xamarin.Forms 開發(fā)人員將使用 .NET MAUI 中的新項目進行運行,使用他們已成長為和喜愛的所有相同的控件和 API。隨著我們越來越接近 .NET MAUI 的發(fā)布,為了幫助開發(fā)人員將現(xiàn)有應用程序順利過渡到 .NET MAUI,我們打算提供嘗試轉(zhuǎn)換支持和遷移指南,類似于我們今天遷移到 .NET Core 時的支持和遷移指南。
.NET MAUI 時間線
我們將在今年晚些時候開始發(fā)貨 .NET MAUI 預覽版,并在 2021 年 11 月以 .NET 6 為目標的通用性。.NET MAUI 將在同 6 周節(jié)奏上發(fā)貨 Xamarin.Forms 已打開。我們已經(jīng)在 GitHub 上發(fā)布了MAUI 路線圖,并邀請您立即加入我們!
Xamarin 和 Xamarin 的下一步內(nèi)容。
作為 .NET 統(tǒng)一的一部分,Xamarin.iOS 和 Xamarin.Android 將成為 .NET 6 的一部分,作為 iOS 的 .NET 和用于 Android 的 .NET。由于這些綁定是從蘋果和谷歌發(fā)貨的 SDK 的投影,因此不會有任何變化,因此構(gòu)建工具、目標框架名字和運行時框架名字將更新以匹配所有其他 .NET 6 工作負載。我們承諾讓 .NET 開發(fā)人員了解最新的移動 SDK,這是 .NET MAUI 的基礎,并且仍然堅定不良。當 .NET 6 船舶時,我們期望以當前的形式最終發(fā)布 Xamarin Sdk,服務一年。當時所有現(xiàn)代作品都將轉(zhuǎn)移到.NET 6。
Xamarin.Forms將于今年晚些時候發(fā)布新的主要版本,并繼續(xù)在2021年11月通過.NET 6 GA每6周發(fā)布一次小型和服務版本。Xamarin.Forms 的最終版本將在發(fā)貨后一年內(nèi)投入使用,所有現(xiàn)代工作將轉(zhuǎn)移到 .NET MAUI。
到此這篇關于.NET跨平臺應用MAUI介紹的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
在ASP.NET 2.0中操作數(shù)據(jù)之四十:自定義DataList編輯界面
先前的編輯界面清一色的都是TextBox控件,當然EditItemTemplate還可以包含很多其他的控件,比如DropDownLists, RadioButtonLists, Calendars等,這一節(jié)就讓我們看看如何實現(xiàn)添加其他的控件。2016-05-05在ASP.NET 2.0中操作數(shù)據(jù)之六十四:GridView批量添加數(shù)據(jù)
前面介紹了批量更新,批量刪除數(shù)據(jù),這篇文章主要介紹如何實現(xiàn)批量添加數(shù)據(jù),當然為了保證數(shù)據(jù)的完整性,我們在做這些批量操作的時候,都使用了事務來實現(xiàn)。2016-05-05NopCommerce架構(gòu)分析之(七)主題Theme皮膚管理器
本文主要介紹NopCommerce的皮膚管理機制,NopCommerce提供默認的皮膚,我們也可以制作自己的皮膚,以實現(xiàn)個性化定制。2016-04-04解讀ASP.NET 5 & MVC6系列教程(17):MVC中的其他新特性
這篇文章主要介紹了ASP.NET 5中全局導入、獲取IP相關信息、文件上傳等其他新特性,需要的朋友可以參考下2016-06-06.Net?6中WebApplicationBuilder介紹和用法
這篇文章介紹了.Net?6中WebApplicationBuilder的用法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-12-12在ASP.NET 2.0中操作數(shù)據(jù)之三十四:基于DataList和Repeater跨頁面的主/從報表
前面介紹了使用GridView實現(xiàn)跨頁面的主/從報表,同樣DataList和Repeater也可以實現(xiàn)相同功能。2016-05-05