反正,要是弄得好就是Mono到.Net Core的那種飛躍,

要是沒弄好,看看隔壁Windows Phone和UWP……

當然,一開始就潑冷水是不好的,這次的MAUI至少目前官方還是很積極的,而且有理有據的,值得期待一下。


說回MAUI本身,倒是有個東西我挺在意的:

Blazor,是微軟最近搞出來的Web框架,對標的是Angular, Vue的那個Blazor,說不定有一定可能,這玩意會正面剛上Electron , 真這樣的話,那就有趣了

(當然也不排除是類似https://github.com/xamarin/MobileBlazorBindings 這樣的東西)

總的來說,會是個很有意思的功能


然後,官方repo里有句「Implement MVU」,我見識短,第一次聽說MVU這個詞,然後一看案例:

emm,好像隔壁某個Flutter欸,

之前一看Dart,看了兩眼不想看了。這次有個「C#的Flutter」了,勾起了興趣,到時候得玩玩看。

(Unity你看看人家)

不喜歡MVU的還是依然有挺棒的MVVM,強迫症福音。

同時有MVU,MVVM,Blazor這麼多東西,講真看起來好像是很容易有坑的設定,但玩意要是搞得能用了,大概會非常有趣。


另外說起來,MonoGame好像現在是基於Xamarin的,不知道MAUI的出現,會對MonoGame有啥影響沒


落魄的UWP開發.gif


特意的把linux排除在外了。。。

xaml應該類似xamarin.forms

搞了個mvu模式,方便c# new控制項

x.f繼續維護一段時間,然後徹底往maui遷移

單個project,不像x.f那樣一大堆project

xamarin本來也就ios,安卓,uwp能用,其他的什麼wpf,gtk,wasm都處於呵呵的狀態,這次微軟加個macos,也就這點主要進步了,所以linux就別多想了

總的來說他還是x.f演化出來的進化版,目標也沒有太大的不同,代碼和平台都是從xamarin過來的,x.f我最討厭的事情是wpf里那些shapes都沒有,也沒有viewbox,感覺是個殘疾xaml,不知道趁此會不會改善。 x.f經常搞出些bug,maui又來搞事情,而且也不是往大一統的方向去的,還真就是個進化版的x.f,感覺很一般啊。。。。

我還是更期待.net5 .net6的改進


乍一看,是不是感覺微軟又出新東西玩弄我,以前的 Xamarin 要砍了嗎?

莫急,讓我們來看看簡介。

哎喲,Xamarin.Forms 進化,這就有點意思了,莫非是超級威力加強版?

莫急,我們再來看看 Roadmap,看看它究竟想怎麼做。

emmmmmmm

微軟改名部誠不我欺!

----------手動分割線------------

認真來講,MAUI本質上應該算是 Xamarin.Forms 的一次回爐重構,順便改了個名。

其實從去年 .NET 5 的戰略就可以看出端倪,5 之後的目標既然是實現 .NET 的大一統,那麼遲早也會實現自己的一套跨平台 UI 方案,畢竟這是對應用開發人員來講最大的價值,也是萬眾所望。

那麼剩下的路線無非是另起爐灶重新實現一套,還是吸收 Xamarin 做一套威力加強版。

現在看來微軟選了後者,這可能也是對 Xamarin 這個遺產比較好的一個結果了。

按照 Roadmap,Xamarin 未來一段時間發布最後一個版本之後,後續就會全部遷移到新的 MAUI 。

只要微軟在遷移方面提供足夠便利的方案,對於原來的 Xamarin 開發人員(國內真的少,我是其一)來說就不是特別大的問題。帶來的優勢(單項目結構、MVU、官方桌面端方案等)都是不錯的餅,改善了以前 Forms 一些詬病問題。

這一次改頭換面之後,架構方面就更簡單清晰了,希望能吸引更多跨平台開發者來關注它吧。

如果未來能用 Feel 語言來寫的話就更爽了。


MAUI-Preview 2[1]

我現在連Windows都不支持呢[2]。你想支持也行,你問WinUI 3什麼時候能做好,我就什麼時候做好[3]

評論區想撕的老哥被官方堵上了嘴(XD):


至於Linux,啥時候Linux社區將用啥窗口管理器整明白了,MAUI估計就有了。

總不能每種都單獨適配吧?又不能是社區發工資233333

參考

  1. ^https://github.com/dotnet/maui/releases/tag/6.0.100-preview.2
  2. ^.NET Multi-platform App UI https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-2/#net-multi-platform-app-ui
  3. ^.NET MAUI in .NET 6 Preview 4 (Mid 2021) https://github.com/dotnet/maui/wiki/Roadmap#net-maui-in-net-6-preview-4-mid-2021


推薦閱讀:
相关文章