.NET 5學習筆記(12)——WinUI 3 Project Reunion 0.5

樓上那個蜀黍發表於2021-05-06

2021年3月的時候,Win UI 3終於來到了第一個穩定的支援版本,可用於建立釋出到Micosoft Store的應用。據某軟的說法,這個叫WinUI 3 Project Reunion 0.5的版本,是可以被用於生產了,但按某軟的尿性,一般1.1版本會比較靠譜……
首先我們要梳理一下Win UI 3和Project Reunion之間的關係,某軟的改名部真是讓人糟心啊,該出手的時候卻和被裁員了一樣……

WinUI 3是WinUI 2的後續版本,核心的不同之處,除了版本號大上一位以外,就是WinUI 3支援desktop/Win32程式,而WinUI 2僅支援UWP。但也別想太多,想要用上WinUI 3,得先升級到.NET 5,以及最低版本號為1809的Windows 10。

Project Reunion就更讓人迷惑了,相信我這貨1.0的時候絕對會改名。簡單理解Project Reunion定義了面向次世代的Windows App Development的工具集,只有欽定的API和Library才能被歸屬到Project Reunion之下。和同一套程式碼跑遍所有Win10的UWP不同,這次的目標是,只要是屬於Project Reunion的Library,就能被以往的WinForms,WPF和C++/Win32的技術所使用。可以想象,被迫使用了新API的舊框架們,不得不遷移到最新的Win10,甚至Microsoft Store,簡直機智啊!
下面一張圖是Project Reunion對以MSIX格式打包,且通過Store釋出的應用程式,所對應的Roadmap。
可以看到在今年底就會有正式版了。但是以MSIX打包的形式,在使用體驗上我個人推測和現在的DesktopBridge的使用並無太大出入,無非就是API的更新。(個人不負責任的推測)

第二張圖就有點意思了,這是對非打包格式的應用程式的支援情況。商店這種東西,個人消費者可能喜歡,但是對軟體開發商來說,等於是脖子上的枷鎖,對於公司IT而言更是法外之地。所以這一塊的內容在未來確實很有看點,某軟從Win8開始做商店,結果連遊戲都賣不過Steam,何其悲劇!這次以何種形式來支援非打包的桌面應用,讓我們拭目以待。

扯得太遠讓我們回到WinUI 3 Project Reunion 0.5。當前這個版本可用於建立釋出到商店的應用,但他只支援desktop,UWP的支援仍然是preview。同時雖然支援在VS2019 16.9以上版本中使用,但是全部特性比如熱過載和實時視覺化樹還要等16.10版本。可以理解為庫本身已經準備好了,但是配套還沒有完善。
在安裝Project Reunion 0.5 VSIX包之後,我們就可以在VS2019中使用WinUI專案模板建立WinUI3應用。

同時在WinUI3的Item Template中,我們可以看到下面這些項,一股熟悉的氣息撲面而來。其實某軟在這些年,至少桌面端XAML的技術延續是非常順滑的。根本不存在拋棄老人,讓他們35歲去送外賣這種事情。有興趣的小夥伴來入坑Windows開發啊,三十年河東河西,萬一哪天再次雄起了呢?這裡推薦兩篇Docs & Learn上HelloWorld級別的課程,包教包會那種。
編寫首個 Windows 10 應用 - Learn | Microsoft Docs
Windows 10 開發簡介 - Learn | Microsoft Docs

總體來說,WinUI3是一個巨大的升級。WinUI2僅以NuGet包的形式供UWP專案使用,而WinUI 3升級為整個全新的專案模板。成為了和UWP,WPF專案模板對等的存在。

本篇我們僅僅從概念上介紹了WinUI 3和Project Reunion,下一篇我們將嘗試建立WinUI 3的專案來體驗如何進行次世代Windows應用程式的開發。

 

參考連結:
Windows UI 庫 3 - Project Reunion 0.5(2021 年 3 月)
使用 Project Reunion 0.5 構建桌面 Windows 應用

 

相關文章