遷移的初衷
本人平時是做.net相關的作業,對于.net技術堆疊也有一些了解,自從新的.net能夠跨平臺之后,之前也有跨平臺的ui框架Xamarin,現在微軟推出了.NET MAUI這個說是 統一了開發體驗,而且都RC版本了,所以本人也就想著試試看了,于是就想著把前幾天的WinUI的demo遷移到MAUI上試試看了,
遷移程序
1. VS啟動MAUI開發模塊
如圖,下載最新的vs2022預覽版,然后勾選.NET MAUI,

通過安裝這些模塊我們就能創建了MAUI的專案了,
2. 創建一個專案
選擇如圖的專案模板,

創建完成之后專案結構如下圖,

乍一看和普通的wpf或者uwp再或者winui專案差別不大,主要的區別可能就是多一些依賴項為不同的平臺,
3. 確認遷移需要的一些依賴
我之前的WinUI demo用資料存盤是LiteDB,這個支持,那基本上就沒什么阻礙了,ui顯示的話,需要用MAUI提供的一些控制元件替換掉WinUI里的控制元件,
MAUI和WinUI的效果對比

左邊為MAUI效果,UI其實我是抄了一個dotnet-maui-workshop專案的樣式,右邊就是一個簡單的WinUI控制元件展示,
遷移貌似沒什么阻礙,
遇到的一些問題
目前在寫這篇文章的時候.NET MAUI已經是RC3了,之前在RC2的時候有個奇怪的問題,就是從LiteDB讀出的流放到圖片展示,windows下是正常,在安卓設備上就不正常了,所以當時就沒搞了,看了github上的問題區好像是bug,在這個RC3版本修復了,所以在安卓上也能正常顯示了,
效果如下圖
串列頁

詳情頁

不過好像不推薦用流進行顯示,感覺有的串列如果滾動之后好像流不存在了就會展示例外,估計是我的用法不對了,
還有個比較奇怪的地方就是如下圖的代碼,在windows上能夠正常生效,但是在安卓上就會失效,

整體感覺開發體驗和wpf體驗很像,不過對于一些依賴特定平臺的功能需要大家根據具體的平臺進行實作了,需要大家了解一些各平臺的api,
最后的感受
整體的開發方式確實很舒服,從開始的不太適應,到后面覺得還不錯,感覺持續的演進下去會有一個不錯的未來吧,希望更多的人參與進來,然后共同完善這個框架,
參考檔案和代碼地址如下
檔案的代碼地址
什么是 .NET MAUI?
dotnet-maui-workshop
dotnet-podcasts
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/474441.html
標籤:.NET Core
上一篇:寫代碼有感而發
