<span id="jy06o"><output id="jy06o"></output></span>

正在閱讀:Win11出世UWP卻慘遭棄用!Win軟件還會翻新嗎Win11出世UWP卻慘遭棄用!Win軟件還會翻新嗎

2021-11-20 00:15 出處:PConline原創 作者:Aimo 責任編輯:censi

  [PConline 雜談]微軟已經在10月5日面向普通用戶推送了Windows 11正式版,想必很多朋友已經用上了這最新一代的操作系統。而如果你是一名微軟粉絲,有長期關注微軟生態,那么可能會注意到Win10時代被頻頻提起的UWP生態,在新系統的到來之際竟然近乎銷聲匿跡。

  實際上,這并不是錯覺。UWP這個在Win10時代,曾經扛起微軟生態的大旗,在Win11時代已然倒了下去。

微軟已經公告,UWP被實質性放棄
微軟已經公告,UWP被實質性放棄

  不久前,微軟在Windows應用程序的開發文檔中透露,主推Windows App SDK和WinUI 3開發,UWP不再作為開發基礎。UWP此后只會收到“錯誤、可靠性和安全修復”,不會再引入新功能。因此,UWP事實上已被微軟棄用,這個曾經被寄予厚望的微軟新生態的引擎,已經成為了時代的棄子。

  在Win8乃至Win10時代,人們詬病于Windows系統中殘留的老舊痕跡,老軟件乃至系統本身的風格和新設計格格不入,人們一度將Windows生態翻新的厚望寄予在UWP身上。然而事情的發展卻出乎人們的意料,UWP被放棄的同時,Win11卻成為了近年來改版力度最大的Windows桌面系統,很多系統組件例如文件資源管理器都紛紛用上了新設計。

Win11中界面割裂的現象明顯好轉
Win11中界面割裂的現象明顯好轉,例如文件管理器,沒有UWP化,但界面也現代化了,這是為何?

  除了Win11系統本身,大量微軟App也在Win11時代全面擁抱了Fluent Design等新設計。這似乎是Windows生態華麗轉身的一個好兆頭。但歸根到底,這仍是微軟自發的行為,除了系統自帶組件和第一方應用,更重要的是第三方軟件。在今后第三方的Win軟件還會源源不斷迎來翻新嗎?還是說Win11的改版仍只會是曇花一現、大量Win軟件仍舊積重難返?今天就來簡單談談吧。

為何微軟要放棄UWP?

  在展開話題之前,我們先來回顧一下微軟為何要放棄UWP。實際上,UWP生態萎靡,已非一朝一夕之事。早在Win11尚未公布之前,Win10上的UWP生態就已經半死不活,大量知名UWP應用早在去年前年就已經停止更新,大廠的UWP產品更是被Win32轉制版軟件取而代之,例如QQ、微信、網易云音樂都是其中典型。

  開發者不青睞UWP,是有其合理原因的。

  首先,微軟在移動平臺上的折戟沉沙,令UWP應用價值大減。UWP開發規范主打跨平臺,從其名字“Universal Windows Platform”中就可窺一斑。UWP應用可以同時適配移動和桌面平臺,但隨著WP/Win10M宣告失敗,UWP這座橋梁的意義就很值得懷疑了。

移動平臺上的潰敗,令UWP應用和Win商店失去了一
移動平臺上的潰敗,令UWP應用和Win商店失去了一大根基

  其次,UWP應用存在諸多限制,能實現的功能相當有限。UWP應用的API并不如傳統的Win32軟件來得豐富,收到諸多限制,例如UWP應用必須在App Container中以沙盒的形式運行,難以獲取很多常見的系統權限,不少功能受到限制,例如UWP應用如何使用系統代理就是個難題。和傳統軟件相比,UWP應用功能沒有那么自由,能調用的資源更少,受到更嚴格的后臺限制,而且某些應用還很容易閃退。這帶來了很不好的用戶體驗。

UWP應用受限較多
UWP應用受限較多

  再者,UWP應用兼容性不理想,盡管支持跨平臺,卻無法兼容老平臺。Windows一大優點在于兼容性,無論使用新老開發工具,所編寫的程序都能在最新的Win10中跑起來,這令很多開發者至今仍使用舊版本的開發工具,以同時兼容Win7、Win10等多個版本的系統,大家并沒有太多動力為了UWP就把開發工具時時保持在最新。

  最后,UWP應用還存在開發框架一直迭代不穩定、App必須在應用商店中發布等問題,這都影響了開發者的開發意愿。

Windows 10S并不受歡迎
只能安裝商店應用的Windows 10S并不受歡迎

  種種原因綜合之下,UWP的發展長期處于低潮。而其中的很多問題,又是微軟無法解決的。例如UWP的定位在于跨設備跨平臺,要兼顧桌面和移動環境,這就意味著自由度高的桌面開發環境必須向存在種種限制的移動開發環境妥協,導致的結果就是UWP應用功能受限、向后兼容性受限。結合當前微軟在移動市場的表現,UWP的確沒有太大存在的意義了。

Win11時代Win32也能迎來翻新?

  UWP不再被視為Windows開發的重心,但Windows 11中,大量軟件應用反而煥然一新,這又作何解釋呢?事實上,UWP盡管沒有取得什么大成功,但它的很多遺產,卻被繼承了下來,這讓Windows在此后的生態建設中,更加順風順水。

  就如文章一開頭所提到的,微軟將會把Windows開發的重心轉向Windows App SDK和WinUI 3,但這兩者又是什么來頭呢?其實它們的構成,和UWP是脫不開關系的。

  在Win10時代,微軟推行UWP,而UWP所用的控件和樣式庫則被稱為WinUI 2。WinUI 2和Windows 10 SDK集成,為UWP提供Windows UI控件以及其他UI元素。然而,WinUI 2卻有僅僅適用于UWP開發,對于傳統的Win32軟件,它無能為力,無法為傳統的Win32軟件提供界面、樣式更新。

Win10時代,UWP應用使用WinUI 2構建界
Win10時代,UWP應用使用WinUI 2構建界面,而WinUI 2也僅僅支持UWP

  如此一來,如果軟件不轉向UWP開發,那么即使更新版本,那么往往也只會使用WPF、MFC等比較老舊的開發工具。軟件不使用UWP開發,就無法用上WinUI 2,就沒法跟上Windows系統的界面更新,這讓Win10時代視覺效果極其割裂。這個情況,在Win11時代似乎要得以改觀了。

  在開發Windows 11的同時,微軟也盤算起了整理軟件開發生態的路子。在去年的Build 2020開發者大會上,微軟公布了“Project Reunion”,這是一套整合UWP和Win32開發的方案。微軟試圖通過Project Reunion,將Win32和UWP API與Windows 10脫鉤,并將UWP中出廠的API提供給Win32使用,以 “彌合”兩個平臺之間的差距,F在,Project Reunion已經取得了初步的成果,那就是新的Windows App SDK以及WinUI 3。

WinUI 3
作為Project Reunion的一部分,WinUI 3同時支持Win32和UWP,傳統軟件也可以使用它更新界面

  全新的Windows App SDK融合了傳統Win32以及UWP應用關鍵技術,并使用 WinUI 3作為UI框架。此后,開發者為Windows開發軟件,無論是開發Win32還是UWP,只要使用Windows App SDK,即可讓軟件用上新的界面——沒有使用UWP重構的文件資源管理器得以翻新,就受益于此。

  需要注意的是,Windows App SDK并不會取代掉之前的Windows SDK 或現有桌面Windows應用類型,例如 .NET(包括Windows窗體和WPF)和桌面 Win32等,而是使用一組通用API來補充這些現有工具和應用類型,開發人員可以在這些平臺上依賴這些API來執行操作。

  換言之,Windows App SDK通過拓展更多的API接口,讓Win32開發也如UWP一樣標準化,讓開發者可以輕松調用WinUI 3來構建新的軟件界面。為Win32軟件開發新版,不需要將Win32軟件重構為UWP,傳統軟件也能用上新界面了。

未來Windows軟件會如何發展?

  那么問題來了,Win10時代開發者并不愿意使用UWP,在Win11時代大家就會擁抱Windows App SDK和WinUI 3嗎?恐怕其中仍有一些疑慮。

  首先需要肯定的是,Windows App SDK的確解決了UWP力所不逮的一些問題。例如UWP應用功能受限,而Windows App SDK可以用于Win32開發,就減少了很多限制。Windows App SDK打破了軟件開發在功能和API調用等方面的瓶頸,讓Win32軟件銜接最新Windows界面不再有功能方面的顧慮。

  但與此同時,Windows App SDK并沒有解決UWP開發的很多問題。

  ·兼容性。UWP向后兼容到Win10 1703,而Windows App SDK的兼容性更差,只兼容到Win10 1809。如果開發商打算讓軟件繼續兼容Win7、Win8,那么必然不會選擇Windows App SDK。

WinUI 3
各類Windows開發框架對比,可見WinUI 3對老系統的支持是更差的

  ·遷移成本。將老軟件遷移到Windows App SDK,并不比將其重構為UWP簡單,很多歷史悠久的大型軟件,已經累積起了穩定生態和客源,并不一定愿意做這方面的工作。

  ·成熟度。事實上,Windows App SDK才剛剛發布1.0穩定版,很多開發框架尚未穩定,也遠稱不上成熟。根據微軟的規劃,Windows App SDK在未來還會通過XAML Islands支持WPF、WinForms和其他帶有WinUI3的應用程序,但這些規劃是否能落實?微軟砍刀部會不會再次大發神威?恐怕很多人會選擇觀望。

  當然,如果開發者迫切想要軟件跟上Win11的節奏,或者想要讓產品在Windows商店中上架,Windows App SDK還是頗具吸引力的。Windows App SDK提供了更多適配Win11新系統特性的接口,例如電源管理、應用窗口管理、進程周期管理等等,使用它來開發軟件,在Win11上的運行效果肯定會比傳統開發來得更好。

Windows App SDK
Windows App SDK可以讓Win32軟件更容易支持更多系統新特性

  簡而言之,Windows App SDK有其價值所在,它為Win32軟件提供了適配新系統的開發方案,并整合了UWP。但與此同時,它并不成熟,也存在兼容性等問題。開發者是否會跟進Windows App SDK和WinUI 3?恐怕還是得視實際情況而定了。

總結

  Windows軟件是否可以翻新?微軟的確已經給出了Windows App SDK和WinUI 3的方案。然而,Windows系統的一大核心競爭力,在于強大的兼容,這既體現在新系統對老軟件的兼容,也體現在新軟件對老系統的兼容。而無論是UWP還是Windows App SDK,都在試圖打破這一局面,因此新開發規范的推廣,也一定會遭遇障礙。

  Windows并非是一個封閉的系統,微軟很難讓大家都跟隨自己的腳步,擁抱應用商店和新的開發套件。這意味著,微軟必須在這些方面提供足夠多的吸引力,才有可能讓Windows的生態脫胎換骨。微軟能在Win11時代做到這一切嗎?我們拭目以待吧。

為您推薦

加載更多
加載更多
加載更多
加載更多
加載更多
加載更多
加載更多
加載更多
加載更多

關注我們

最新資訊離線隨時看 聊天吐槽贏獎品
免费A级