微软 .NET 官宣跨平台 UI 框架 MAUI
IT之家5月21日消息在Build 2020開發者大會上,微軟宣布推出.NET 官宣跨平臺 UI 框架 MAUI,全稱是.NET Multi-platform App UI。正式版將在 .NET 6 和大家見面。
微軟介紹,你可以使用.NET進行任何構建。這是成千上萬的開發人員選擇.NET作為其職業生涯平臺,而微軟還為其業務進行投資的主要原因之一。使用.NET 5,微軟開始了統一.NET平臺的旅程,將.NET Core和Mono/Xamarin集成在一個基類庫(BCL)和工具鏈(SDK)中。
.NET MAUI考慮到了跨多個平臺使用的許多設備,從Android、iOS到Windows、macOS。
.NET MAUI是日益流行的Xamarin.Forms工具演變,Xamarin.Forms已經有6年歷史了。多年來,UPS、Ernst&Young和Delta等公司一直在利用.NET上Xamarin的移動專業知識來推動其業務發展。它幫助小型企業最大化其95%以上代碼共享的開發投資并擊敗競爭對手進入市場。.NET MAUI將這一成功擴展到了移動設備上,從而囊括了桌面設備,這是在兩者之間構建多平臺應用程序的最佳方法,尤其是微軟的新設備(例如新的Surface Duo)。
單一項目開發人員經驗
.NET MAUI簡化了.NET開發人員的選擇,提供了一個單一堆棧來支持所有現代工作負載:Android,iOS,macOS和Windows。每個平臺和UI控件的原生功能都可以通過一個簡單的跨平臺API觸手可及,你可以在提供不妥協的用戶體驗的同時共享比以前更多的代碼。
.NET MAUI的構建考慮了開發人員的生產力,包括開發人員需要的項目系統和跨平臺工具。.NET MAUI將項目結構簡化為一個針對多個平臺的項目。這意味著你只需單擊一下鼠標,便可以輕松地將其部署到所需的任何目標,包括臺式機、仿真器、模擬器或物理設備。使用內置的跨平臺資源,你可以將任何圖像、字體或翻譯文件添加到單個項目中,.NET MAUI將自動設置本機掛鉤,以便你可以進行編碼。最后,你將始終可以訪問本機底層操作系統API,并且通過特定于新平臺的集成將比以往更加輕松。在平臺下,你可以添加特定操作系統的源代碼文件并訪問本機API。有了.NET MAUI,一切都集中在一個地方,你可以用它來保持生產力。
這提供了:
-
一個針對多個平臺和設備的項目。
-
一個位置來管理字體和圖像等資源。
-
多目標組織您特定于平臺的代碼。
現代應用程式模式
.NET的愿景的一部分是在開發人員的個人喜好方面為開發人員提供選擇,以便使用.NET可以提高工作效率。這表明你在哪個IDE中,包括Visual Studio 2019,Visual Studio for Mac甚至是Visual Studio Code,.NET MAUI將在所有這些版本中可用,并支持現有的MVVM和XAML模式以及將來的功能,例如使用C#甚至是Blazor的Model-View-Update(MVU)。
MVVM
Model-View-ViewModel(MVVM)和XAML是.NET開發人員幾十年來的主要模式和實踐,它們是.NET MAUI中的一流功能。這將繼續發展,以幫助你高效地構建和維護生產應用程序。
<StackLayout><LabelText="Welcometo.NETMAUI!"/><ButtonText="{BindingText}"Command="{BindingClickCommand}"/></StackLayout>
<StackLayout><LabelText="Welcometo.NETMAUI!"/><ButtonText="{BindingText}"Command="{BindingClickCommand}"/></StackLayout>publicCommandClickCommand{get;}
MVU
此外,微軟使開發人員能夠編寫流暢的C#UI并實現日益流行的“模型-視圖-更新”(MVU)模式。MVU促進數據和狀態管理的單向流程,以及通過僅應用必要的更改來快速更新UI的代碼優先開發經驗。
下面是用.NET MAUI編寫的MVU樣式的基本計數器示例。
readonlyState<int>count=0;[Body]Viewbody()=>newStackLayout{newLabel("Welcometo.NETMAUI!"),newButton(()=>$"Youclicked{count}times.",()=>count.Value++))};publicstringText{get;set;}="Clickme";intcount=0;voidExecuteClickCommand(){count++;Text=$"Youclicked{count}times.";}
這種模式非常適合熱重載,如下面所示,它具有從C#即時熱重載的新增樣式,漸變和字體。
MVVM和MVU都提供相同的原生應用程序,性能和平臺保真度。開發人員將能夠選擇最適合其偏好和用例的樣式。
從Xamarin.Forms過渡到.NET MAUI
Xamarin.Forms開發人員將使用他們已經了解和喜愛的所有相同控件和API來開始在.NET MAUI中使用新項目運行。隨著越來越接近.NET MAUI的發布,為了幫助開發人員將現有應用平穩地過渡到.NET MAUI,微軟打算提供類似于今天遷移到.NET Core的嘗試轉換支持和遷移指南。
.NET MAUI時間線
微軟將在今年晚些時候開始發布.NET MAUI預覽版,并于2021年11月開始提供.NET 6的總體可用性。.NET MAUI將以Xamarin.Forms所采用的相同的6周節奏發布。微軟已經在GitHub上發布了MAUI路線圖,并邀請你今天就加入!
Xamarin 和 Xamarin.Forms的下一步是什么
IT之家獲悉,作為.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,踏上.NET MAUI的旅程。
https://devblogs.microsoft.com/dotnet/introducing-net-multi-platform-app-ui/
總結
以上是生活随笔為你收集整理的微软 .NET 官宣跨平台 UI 框架 MAUI的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 是谁的错是什么歌呢?
- 下一篇: 动漫名字男生好听的萌