重磅消息:微软发布多平台应用UI框架 MAUI,网友直呼:牛x
本文內容來自微軟開發博客:https://devblogs.microsoft.com/dotnet/introducing-net-multi-platform-app-ui/
轉載請注明來源,公眾號[開發者精選資訊]
在微軟2020年Build大會這天,Scott Hunter在博客上發布了這篇文章,這篇文章中祭出微軟重磅戰略性UI框架:MAUI,接下來是翻譯,若要看原文,點擊上面的鏈接即可。
你可以用.NET構建任何東西,這是成千上萬的開發人員選擇.NET作為其職業生涯開發平臺,而公司為其業務進行投資的主要原因之一。使用.NET 5,我們開始了統一.NET平臺的旅程,將.NET Core和Mono / Xamarin集成在一個基類庫(BCL)和工具鏈(SDK)中。
在考慮統一的.NET中建筑設備應用程序的外觀時,我們看到跨多個平臺使用的許多設備,從Android 和iOS到Windows和macOS。為了滿足這一需求,我們很高興地宣布一個新的一流的UI框架,可以做到這一點:.NET多平臺應用UI框架,親切地叫他MAUI。
讓我們向您介紹.NET MAUI是什么,MAUI單個項目開發人員的經驗,現代化的開發模式以及對未來的展望。
什么是.NET MAUI
MAUI是日益流行的Xamarin.Forms開發套件的演變,該開發套件至本月已經有6年歷史了。多年來UPS,Ernst&Young和Delta等公司一直在利用.NET Xamarin 技術來推動其業務發展。它還在幫助小型企業最大化其95%以上代碼共享的開發投資以及擊敗競爭對手進入市場方面非常成功。 MAUI將這一成功擴展到移動設備上,使其包含臺式機,這是跨這兩者構建多平臺應用程序的最佳方法,尤其是我們的新設備(例如新的Surface Duo)。
MAUI簡化了.NET開發人員的選擇,提供了一個開發棧來支持所有現代設備:Android,iOS,macOS和Windows。每個平臺和UI控件的本機功能都可以通過一個簡單的跨平臺API觸手可及,您可以在提供不妥協的用戶體驗的同時共享比以前更多的代碼。
單一項目開發人員經驗
MAUI的構建考慮了開發人員的生產力,包括開發人員所需的項目系統和跨平臺工具。 MAUI將項目結構簡化為一個針對多個平臺的項目。這意味著您只需單擊一下鼠標,便可以輕松地將其部署到所需的任何目標,包括臺式機,仿真器,模擬器或物理設備。使用內置的跨平臺資源,您可以將任何圖像,字體或翻譯文件添加到單個項目中,并且MAUI會自動設置本機掛鉤,以便您可以進行編碼。最后,您將始終可以訪問本機底層操作系統API,并且通過特定于新平臺的集成將比以往更加輕松。在平臺下,您可以添加特定操作系統的源代碼文件并訪問本機API。有了MAUI,一切都集中在一個地方,可以保持生產力。
這提供了:
一個針對多個平臺和設備的項目
一個位置來管理字體和圖像等資源
多目標組織您特定于平臺的代碼
您掌握了一種構建客戶端應用程序的方法,MAUI方法,并且所有平臺都在您的范圍之內。今天,Scott Hanselman和我將在Build,《通往一個.NET的旅程》中進行實際演示。
現代應用程式模式
.NET的愿景的一部分是為開發人員提供個人喜好方面的選擇,以便您可以使用.NET來提高工作效率。這表明您使用的是哪個IDE,無論是Visual Studio 2019,Visual Studio for Mac還是Visual Studio Code。MAUI將在所有這些版本中可用,并支持現有的MVVM和XAML模式以及將來的功能,例如帶有C#的模型視圖更新(MVU)甚至Blazor。
MVVM
Model-View-ViewModel(MVVM)和XAML是.NET開發人員數十年來的主要模式和實踐,它們是MAUI中的一流功能。這將繼續發展,以幫助您高效地構建和維護生產應用程序。
<StackLayout>
<Label Text="Welcome to 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并實現日益流行的“Model-View-Update”(MVU)模式。MVU促進數據和狀態管理的單向流程,以及通過僅應用必要的更改即可快速更新UI的代碼優先開發經驗。有關以MVU為模式的更多信息,請查閱Elm編程指南和Thomas Bandt的博客。
下面是用MAUI編寫的MVU風格的基本計數器示例。
readonly State<int> count = 0;
[Body]
View body() => new StackLayout
{
new Label("Welcome to MAUI!"),
new Button(
() => $"You clicked {count} times.",
() => count.Value ++)
)
};
這種模式非常適合熱重載,如下面所示,它具有從C#即時熱重載的新增樣式,漸變和字體。
MVVM和MVU都具有本機應用程序的性能和平臺精確度。開發人員將能夠選擇最適合其偏好和用例的樣式。
從Xamarin.Forms過渡到.NET MAUI
Xamarin.Forms開發人員將使用他們已經了解和喜愛的所有相同控件和API來開始在.NET MAUI中使用新項目運行。隨著我們接近MAUI的發布,為了幫助開發人員將現有應用平穩過渡到.NET MAUI,我們打算提供與我們今天遷移到.NET Core相似的嘗試轉換支持和遷移指南。
.NET MAUI時間軸
我們將在今年晚些時候開始發布.NET MAUI預覽版,并于2021年11月開始提供.NET 6的全面可用性。我們已經在GitHub上發布了MAUI路線圖,并邀請您今天就加入我們!
Xamarin和Xamarin.Forms的下一步是什么
作為我們.NET統一的一部分,Xamarin.iOS和Xamarin.Android將作為.NET for iOS和.NET for Android成為.NET 6的一部分。由于這些綁定是Apple和Google發行的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。
立即參與
加入我們全新的存儲庫dotnet / maui,踏上通往MAUI的旅程。一定要star并觀察以獲取最新進度通知,然后加入有關討論我們如何發展代碼庫的提案的討論。這是將Xamarin和Xamarin.Forms直接連接到.NET核心中的漫長旅程的開始,開源這個框架我們和您一樣興奮。
github:https://github.com/dotnet/maui
總結
以上是生活随笔為你收集整理的重磅消息:微软发布多平台应用UI框架 MAUI,网友直呼:牛x的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ZUFE OJ 2301 GW I (3
- 下一篇: 时区缩写 UTC, CST, GMT,