Uno 平台 一 WinUI终极跨平台方案(二)
上篇《Uno 平臺(tái) 一 WinUI終極跨平臺(tái)方案(一)》簡(jiǎn)單介紹了Uno平臺(tái)3.6版本的更新內(nèi)容,大家評(píng)論里持懷疑態(tài)度的人很多,主要還是Uno平臺(tái)非微軟官方發(fā)布,咱們.net技術(shù)方向的已經(jīng)習(xí)慣于在微軟一家技術(shù)支持下,最多再熟悉幾套盜版控件,就可以擼袖子開始工作了????,本來WinUI跨平臺(tái)這么大工程應(yīng)該由微軟來完成,陰差陽錯(cuò)Uno平臺(tái)搶占先機(jī),當(dāng)然另一個(gè)跨平臺(tái)UI avalonia 更早,但avalonia不支持WebAssembly,并且Uno平臺(tái)開發(fā)人員和WinUI開發(fā)組走的很近,微軟也一直幫忙推廣Uno平臺(tái),現(xiàn)在大部分C# + Xaml的論壇里都有Uno的影子。
和Uno結(jié)緣還要從2017年說起,那時(shí)公司產(chǎn)品主要使用wpf silverlight uwp技術(shù),當(dāng)時(shí)打算開發(fā)一款app,能運(yùn)行在windows iOS 和Android上,最初選擇Xamarin.Forms,大概使用近一個(gè)月,實(shí)在做不下去最后果斷放棄。Xamarin.Forms自由度太低,最恨人的是Xaml和windows平臺(tái)不一致,wpf silverlight uwp 雖說有區(qū)別,但基礎(chǔ)的測(cè)量、布局、樣式等差別不大,基本無學(xué)習(xí)成本。微軟非常重視Xamarin.Forms,已將它升級(jí)到MAUI,但這并不是我想要的,我需要的是一脈相承的C# + Xaml,無意中發(fā)現(xiàn)了Uno,將原有的UWP項(xiàng)目稍做調(diào)整即可編譯到iOS,Android,真爽啊!從那一刻起我認(rèn)定了Uno平臺(tái),以前所有對(duì)C# + Xaml的技術(shù)積累終于有救了,我仰天長(zhǎng)嘆,那一年Uno平臺(tái)還沒多少Star。
至于說Uno平臺(tái)bug多得一批,最初確實(shí)這樣,光我就提了好幾十個(gè),Uno平臺(tái)這幾年非常活躍,估計(jì)目標(biāo)是奔著微軟收購去的,現(xiàn)在Release版還是很穩(wěn)定的,而且WinUI的內(nèi)部代碼都共享給他們,這是有次提交代碼時(shí)發(fā)現(xiàn)的:
以下視頻是基于Uno平臺(tái)開發(fā)的成果,項(xiàng)目地址 https://github.com/daoting/dt ,?視頻比較長(zhǎng)、有背景音樂,包含Windows iOS 和 Android部分:
WebAssembly部分的運(yùn)行時(shí)和Blazor相同,當(dāng)前還有些慢,未AOT,如此復(fù)雜的UI運(yùn)行在瀏覽器里,又找回Silverlight的感覺了 ,iOS 和 Android手機(jī)瀏覽器都能運(yùn)行,請(qǐng)欣賞:
WebAssembly自適應(yīng)UI
好了,說這么多總結(jié)一句話,對(duì)于C# + Xaml方向的,Uno平臺(tái)絕對(duì)值得折騰一把!
Uno平臺(tái)地址:https://github.com/unoplatform/uno
總結(jié)
以上是生活随笔為你收集整理的Uno 平台 一 WinUI终极跨平台方案(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .net5或.net6(Preview)
- 下一篇: 瞒不住了,难怪.NET进大厂这么难!