Win11出世UWP卻慘遭棄用 Win軟件還會(huì)翻新嗎

2021-11-20 13:52:27   評(píng)論:0   [收藏]   [評(píng)論]
導(dǎo)讀:  微軟已經(jīng)在 10 月 5 日面向普通用戶(hù)推送了 Windows 11 正式版,想必很多朋友已經(jīng)用上了這最新一代的操作系統(tǒng)。而如果你是一名微軟粉絲,有長(zhǎng)期關(guān)注微軟生態(tài),那么可能會(huì)注意到,Win10 時(shí)代被頻頻提起
  微軟已經(jīng)在 10 月 5 日面向普通用戶(hù)推送了 Windows 11 正式版,想必很多朋友已經(jīng)用上了這最新一代的操作系統(tǒng)。而如果你是一名微軟粉絲,有長(zhǎng)期關(guān)注微軟生態(tài),那么可能會(huì)注意到,Win10 時(shí)代被頻頻提起的 UWP 生態(tài),在新系統(tǒng)的到來(lái)之際竟然近乎銷(xiāo)聲匿跡。

  實(shí)際上,這并不是錯(cuò)覺(jué)。UWP 這個(gè)在 Win10 時(shí)代,曾經(jīng)扛起微軟生態(tài)的大旗,在 Win11 時(shí)代已然倒了下去。

  不久前,微軟在 Windows 應(yīng)用程序的開(kāi)發(fā)文檔中透露,主推 Windows App SDK 和 WinUI 3 開(kāi)發(fā),UWP 不再作為開(kāi)發(fā)基礎(chǔ)。UWP 此后只會(huì)收到“錯(cuò)誤、可靠性和安全修復(fù)”,不會(huì)再引入新功能。因此,UWP 事實(shí)上已被微軟棄用,這個(gè)曾經(jīng)被寄予厚望的微軟新生態(tài)的引擎,已經(jīng)成為了時(shí)代的棄子。

  在 Win8 乃至 Win10 時(shí)代,人們?cè)嵅∮?Windows 系統(tǒng)中殘留的老舊痕跡,老軟件乃至系統(tǒng)本身的風(fēng)格和新設(shè)計(jì)格格不入,人們一度將 Windows 生態(tài)翻新的厚望寄予在 UWP 身上。然而事情的發(fā)展卻出乎人們的意料,UWP 被放棄的同時(shí),Win11 卻成為了近年來(lái)改版力度最大的 Windows 桌面系統(tǒng),很多系統(tǒng)組件例如文件資源管理器都紛紛用上了新設(shè)計(jì)。

  除了 Win11 系統(tǒng)本身,大量微軟 App 也在 Win11 時(shí)代全面擁抱了 Fluent Design 等新設(shè)計(jì)。這似乎是 Windows 生態(tài)華麗轉(zhuǎn)身的一個(gè)好兆頭。但歸根到底,這仍是微軟自發(fā)的行為,除了系統(tǒng)自帶組件和第一方應(yīng)用,更重要的是第三方軟件。在今后第三方的 Win 軟件還會(huì)源源不斷迎來(lái)翻新嗎?還是說(shuō) Win11 的改版仍只會(huì)是曇花一現(xiàn)、大量 Win 軟件仍舊積重難返?今天就來(lái)簡(jiǎn)單談?wù)劙伞?/p>

  為何微軟要放棄 UWP?

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

  開(kāi)發(fā)者不青睞 UWP,是有其合理原因的。

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

  其次,UWP 應(yīng)用存在諸多限制,能實(shí)現(xiàn)的功能相當(dāng)有限。UWP 應(yīng)用的 API 并不如傳統(tǒng)的 Win32 軟件來(lái)得豐富,收到諸多限制,例如 UWP 應(yīng)用必須在 App Container 中以沙盒的形式運(yùn)行,難以獲取很多常見(jiàn)的系統(tǒng)權(quán)限,不少功能受到限制,例如 UWP 應(yīng)用如何使用系統(tǒng)代理就是個(gè)難題。和傳統(tǒng)軟件相比,UWP 應(yīng)用功能沒(méi)有那么自由,能調(diào)用的資源更少,受到更嚴(yán)格的后臺(tái)限制,而且某些應(yīng)用還很容易閃退。這帶來(lái)了很不好的用戶(hù)體驗(yàn)。

  再者,UWP 應(yīng)用兼容性不理想,盡管支持跨平臺(tái),卻無(wú)法兼容老平臺(tái)。Windows 一大優(yōu)點(diǎn)在于兼容性,無(wú)論使用新老開(kāi)發(fā)工具,所編寫(xiě)的程序都能在最新的 Win10 中跑起來(lái),這令很多開(kāi)發(fā)者至今仍使用舊版本的開(kāi)發(fā)工具,以同時(shí)兼容 Win7、Win10 等多個(gè)版本的系統(tǒng),大家并沒(méi)有太多動(dòng)力為了 UWP 就把開(kāi)發(fā)工具時(shí)時(shí)保持在最新。

  最后,UWP 應(yīng)用還存在開(kāi)發(fā)框架一直迭代不穩(wěn)定、App 必須在應(yīng)用商店中發(fā)布等問(wèn)題,這都影響了開(kāi)發(fā)者的開(kāi)發(fā)意愿。

  種種原因綜合之下,UWP 的發(fā)展長(zhǎng)期處于低潮。而其中的很多問(wèn)題,又是微軟無(wú)法解決的。例如 UWP 的定位在于跨設(shè)備跨平臺(tái),要兼顧桌面和移動(dòng)環(huán)境,這就意味著自由度高的桌面開(kāi)發(fā)環(huán)境必須向存在種種限制的移動(dòng)開(kāi)發(fā)環(huán)境妥協(xié),導(dǎo)致的結(jié)果就是 UWP 應(yīng)用功能受限、向后兼容性受限。結(jié)合當(dāng)前微軟在移動(dòng)市場(chǎng)的表現(xiàn),UWP 的確沒(méi)有太大存在的意義了。

  Win11 時(shí)代 Win32 也能迎來(lái)翻新?

  UWP 不再被視為 Windows 開(kāi)發(fā)的重心,但 Windows 11 中,大量軟件應(yīng)用反而煥然一新,這又作何解釋呢?事實(shí)上,UWP 盡管沒(méi)有取得什么大成功,但它的很多遺產(chǎn),卻被繼承了下來(lái),這讓 Windows 在此后的生態(tài)建設(shè)中,更加順風(fēng)順?biāo)?/p>

  就如文章一開(kāi)頭所提到的,微軟將會(huì)把 Windows 開(kāi)發(fā)的重心轉(zhuǎn)向 Windows App SDK 和 WinUI 3,但這兩者又是什么來(lái)頭呢?其實(shí)它們的構(gòu)成,和 UWP 是脫不開(kāi)關(guān)系的。

  在 Win10 時(shí)代,微軟推行 UWP,而 UWP 所用的控件和樣式庫(kù)則被稱(chēng)為 WinUI 2。WinUI 2 和 Windows 10 SDK 集成,為 UWP 提供 Windows UI 控件以及其他 UI 元素。然而,WinUI 2 卻有僅僅適用于 UWP 開(kāi)發(fā),對(duì)于傳統(tǒng)的 Win32 軟件,它無(wú)能為力,無(wú)法為傳統(tǒng)的 Win32 軟件提供界面、樣式更新。

  如此一來(lái),如果軟件不轉(zhuǎn)向 UWP 開(kāi)發(fā),那么即使更新版本,那么往往也只會(huì)使用 WPF、MFC 等比較老舊的開(kāi)發(fā)工具。軟件不使用 UWP 開(kāi)發(fā),就無(wú)法用上 WinUI 2,就沒(méi)法跟上 Windows 系統(tǒng)的界面更新,這讓 Win10 時(shí)代視覺(jué)效果極其割裂。這個(gè)情況,在 Win11 時(shí)代似乎要得以改觀(guān)了。

  在開(kāi)發(fā) Windows 11 的同時(shí),微軟也盤(pán)算起了整理軟件開(kāi)發(fā)生態(tài)的路子。在去年的 Build 2020 開(kāi)發(fā)者大會(huì)上,微軟公布了“Project Reunion”,這是一套整合 UWP 和 Win32 開(kāi)發(fā)的方案。微軟試圖通過(guò) Project Reunion,將 Win32 和 UWP API 與 Windows 10 脫鉤,并將 UWP 中出廠(chǎng)的 API 提供給 Win32 使用,以“彌合”兩個(gè)平臺(tái)之間的差距,F(xiàn)在,Project Reunion 已經(jīng)取得了初步的成果,那就是新的 Windows App SDK 以及 WinUI 3。

  全新的 Windows App SDK 融合了傳統(tǒng) Win32 以及 UWP 應(yīng)用關(guān)鍵技術(shù),并使用 WinUI 3 作為 UI 框架。此后,開(kāi)發(fā)者為 Windows 開(kāi)發(fā)軟件,無(wú)論是開(kāi)發(fā) Win32 還是 UWP,只要使用 Windows App SDK,即可讓軟件用上新的界面 —— 沒(méi)有使用 UWP 重構(gòu)的文件資源管理器得以翻新,就受益于此。

  需要注意的是,Windows App SDK 并不會(huì)取代掉之前的 Windows SDK 或現(xiàn)有桌面 Windows 應(yīng)用類(lèi)型,例如 .NET(包括 Windows 窗體和 WPF)和桌面 Win32 等,而是使用一組通用 API 來(lái)補(bǔ)充這些現(xiàn)有工具和應(yīng)用類(lèi)型,開(kāi)發(fā)人員可以在這些平臺(tái)上依賴(lài)這些 API 來(lái)執(zhí)行操作。

  換言之,Windows App SDK 通過(guò)拓展更多的 API 接口,讓 Win32 開(kāi)發(fā)也如 UWP 一樣標(biāo)準(zhǔn)化,讓開(kāi)發(fā)者可以輕松調(diào)用 WinUI 3 來(lái)構(gòu)建新的軟件界面。為 Win32 軟件開(kāi)發(fā)新版,不需要將 Win32 軟件重構(gòu)為 UWP,傳統(tǒng)軟件也能用上新界面了。

  未來(lái) Windows 軟件會(huì)如何發(fā)展?

  那么問(wèn)題來(lái)了,Win10 時(shí)代開(kāi)發(fā)者并不愿意使用 UWP,在 Win11 時(shí)代大家就會(huì)擁抱 Windows App SDK 和 WinUI 3 嗎?恐怕其中仍有一些疑慮。

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

  但與此同時(shí),Windows App SDK 并沒(méi)有解決 UWP 開(kāi)發(fā)的很多問(wèn)題。

  兼容性。UWP 向后兼容到 Win10 1703,而 Windows App SDK 的兼容性更差,只兼容到 Win10 1809。如果開(kāi)發(fā)商打算讓軟件繼續(xù)兼容 Win7、Win8,那么必然不會(huì)選擇 Windows App SDK。

  遷移成本。將老軟件遷移到 Windows App SDK,并不比將其重構(gòu)為 UWP 簡(jiǎn)單,很多歷史悠久的大型軟件,已經(jīng)累積起了穩(wěn)定生態(tài)和客源,并不一定愿意做這方面的工作。

  成熟度。事實(shí)上,Windows App SDK 才剛剛發(fā)布 1.0 穩(wěn)定版,很多開(kāi)發(fā)框架尚未穩(wěn)定,也遠(yuǎn)稱(chēng)不上成熟。根據(jù)微軟的規(guī)劃,Windows App SDK 在未來(lái)還會(huì)通過(guò) XAML Islands 支持 WPF、WinForms 和其他帶有 WinUI3 的應(yīng)用程序,但這些規(guī)劃是否能落實(shí)?微軟砍刀部會(huì)不會(huì)再次大發(fā)神威?恐怕很多人會(huì)選擇觀(guān)望。

  當(dāng)然,如果開(kāi)發(fā)者迫切想要軟件跟上 Win11 的節(jié)奏,或者想要讓產(chǎn)品在 Windows 商店中上架,Windows App SDK 還是頗具吸引力的。Windows App SDK 提供了更多適配 Win11 新系統(tǒng)特性的接口,例如電源管理、應(yīng)用窗口管理、進(jìn)程周期管理等等,使用它來(lái)開(kāi)發(fā)軟件,在 Win11 上的運(yùn)行效果肯定會(huì)比傳統(tǒng)開(kāi)發(fā)來(lái)得更好。

  簡(jiǎn)而言之,Windows App SDK 有其價(jià)值所在,它為 Win32 軟件提供了適配新系統(tǒng)的開(kāi)發(fā)方案,并整合了 UWP。但與此同時(shí),它并不成熟,也存在兼容性等問(wèn)題。開(kāi)發(fā)者是否會(huì)跟進(jìn) Windows App SDK 和 WinUI 3?恐怕還是得視實(shí)際情況而定了。

  總結(jié)

  Windows 軟件是否可以翻新?微軟的確已經(jīng)給出了 Windows App SDK 和 WinUI 3 的方案。然而,Windows 系統(tǒng)的一大核心競(jìng)爭(zhēng)力,在于強(qiáng)大的兼容,這既體現(xiàn)在新系統(tǒng)對(duì)老軟件的兼容,也體現(xiàn)在新軟件對(duì)老系統(tǒng)的兼容。而無(wú)論是 UWP 還是 Windows App SDK,都在試圖打破這一局面,因此新開(kāi)發(fā)規(guī)范的推廣,也一定會(huì)遭遇障礙。

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

分享到:
責(zé)任編輯:zsz

網(wǎng)友評(píng)論