文|三易生活
屏幕前的你,通常會(huì)從哪里下載PC軟件呢?對(duì)于許多朋友來(lái)說(shuō),顯然從軟件官網(wǎng)或各式各樣的下載站會(huì)更多,很少有人會(huì)專門(mén)從Windows系統(tǒng)中的微軟商店去下載。盡管在Windows 10發(fā)布時(shí),微軟曾希望能夠統(tǒng)一PC、Windows手機(jī)、Xbox游戲主機(jī)、HoloLens眼鏡的應(yīng)用生態(tài),因此打造了UWP(UniversalWindows Platform)應(yīng)用。
然而此舉已經(jīng)由時(shí)間給出了答案,越來(lái)越多的開(kāi)發(fā)者用實(shí)際行動(dòng)表明,UWP應(yīng)用毫無(wú)希望可言。日前有消息顯示,B站的UWP應(yīng)用“嗶哩嗶哩動(dòng)畫(huà)”已停止維護(hù),使用時(shí)會(huì)彈出停止維護(hù)的提示,并要求用戶下載嗶哩嗶哩Windows客戶端版,而后者則是基于Win32開(kāi)發(fā)的程序。
這也就意味著繼騰訊QQ與網(wǎng)易云音樂(lè)之后,又一家大型互聯(lián)網(wǎng)企業(yè)放棄維護(hù)UWP應(yīng)用。當(dāng)然,UWP應(yīng)用被開(kāi)發(fā)者棄之如敝履絕不止于B站,甚至就連微軟自己也選擇了放棄。
在去年秋季,也就是Windows 11發(fā)布一周年之際,微軟方面在Windows應(yīng)用程序的開(kāi)發(fā)文檔中敦促開(kāi)發(fā)者轉(zhuǎn)向全新的Windows App SDK。并明確UWP不再作為開(kāi)發(fā)基礎(chǔ),其未來(lái)只會(huì)收到“錯(cuò)誤、可靠性和安全修復(fù)”,不再引入新的功能,開(kāi)發(fā)者如果想要在自己的UWP應(yīng)用上使用最新的運(yùn)行時(shí)、語(yǔ)言特性和平臺(tái)功能,就必須將應(yīng)用程序遷移到Windows App SDK。
對(duì)于一款產(chǎn)品而言,進(jìn)入維護(hù)期也就意味著產(chǎn)品本身被開(kāi)發(fā)者邊緣化、處于事實(shí)上被放棄的狀態(tài),從當(dāng)初的Windows 10 Mobile到如今的UWP莫不如此。
那么從被寄予厚望到被實(shí)質(zhì)性放棄,UWP到底是如何落到這般田地的呢?其實(shí)微軟沒(méi)有在移動(dòng)互聯(lián)網(wǎng)時(shí)代完成“大象轉(zhuǎn)身”,就是這一切的關(guān)鍵,雖然他們嘗試了將Windows在PC互聯(lián)網(wǎng)時(shí)代的影響力移植到移動(dòng)端,但可惜的是這種嘗試最終還是以失敗告終。
事實(shí)上,UWP是微軟大一統(tǒng)計(jì)劃的實(shí)踐,它的誕生就是為了在不同平臺(tái)提供統(tǒng)一的體驗(yàn)而生。誠(chéng)然對(duì)于Xbox的用戶而言,在玩游戲之外的其他方面,UWP應(yīng)用的體驗(yàn)相當(dāng)出色,可問(wèn)題在于,Xbox作為游戲主機(jī)是專門(mén)用來(lái)玩游戲的,用戶幾乎很少會(huì)在其他場(chǎng)景使用。而UWP應(yīng)用真正的重心,則是借助Windows生態(tài)積累的龐大開(kāi)發(fā)者群體和相關(guān)資源,來(lái)反哺Windows Phone/Windows 10 Mobile,也就是說(shuō)移動(dòng)端才是UWP成敗的關(guān)鍵。
然而遺憾的是,由于Windows 10 Mobile在與iOS和Android的競(jìng)爭(zhēng)中敗下陣來(lái),原本計(jì)劃是“兩條腿走路”的UWP應(yīng)用“瘸了”,后續(xù)微軟與高通合作的Windows On ARM項(xiàng)目至今還是雷聲大雨點(diǎn)小。因此失去了移動(dòng)端的代價(jià),就是UWP兜兜轉(zhuǎn)轉(zhuǎn)后又回到了微軟已經(jīng)浸淫多年的PC端。
但面向PC平臺(tái)為主的UWP開(kāi)發(fā),就會(huì)面臨一個(gè)很尷尬的問(wèn)題,那就是在已經(jīng)有了傳統(tǒng)win32程序的情況下,開(kāi)發(fā)UWP應(yīng)用就相當(dāng)于是重復(fù)造輪子。
UWP應(yīng)用在Windows 10 1809版本后,其實(shí)已經(jīng)擁有相當(dāng)可靠的穩(wěn)定性和更完善的API,進(jìn)而實(shí)現(xiàn)了更強(qiáng)勁的性能、更低的資源占用,以及更高的安全性,但如果要以PC端為主戰(zhàn)場(chǎng),那么UWP面臨的競(jìng)爭(zhēng)對(duì)手就是.exe格式的win32程序了。而對(duì)于開(kāi)發(fā)者來(lái)說(shuō),相比之下UWP應(yīng)用的限制無(wú)疑更大、能實(shí)現(xiàn)的功能也更加有限。
由于微軟為UWP應(yīng)用提供的API遠(yuǎn)不如傳統(tǒng)的Win32豐富,例如UWP應(yīng)用必須在App Container中以沙盒的形式運(yùn)行,所以也難以獲取許多常見(jiàn)的系統(tǒng)權(quán)限,使得其功能也受到了一定的限制。
同時(shí),由于UWP是為了跨平臺(tái)而生,所以UWP應(yīng)用不需要背負(fù)Windows的歷史包袱既是好事、也是壞事,“輕裝上陣”無(wú)疑是一大優(yōu)勢(shì),但兼容性不佳則是劣勢(shì)了。Windows系統(tǒng)的重要賣(mài)點(diǎn)就是兼容性出眾,即便為此付出了系統(tǒng)冗余過(guò)大的代價(jià),但老應(yīng)用依然能在最新的Windows 11上跑起來(lái),就是它的優(yōu)勢(shì)所在。
通常對(duì)于的中小開(kāi)發(fā)者團(tuán)隊(duì)來(lái)說(shuō),需要為UWP應(yīng)用針對(duì)不同平臺(tái)進(jìn)行全部的適配,這必然就會(huì)導(dǎo)致比針對(duì)不同平臺(tái)分別推出對(duì)應(yīng)的版本要花費(fèi)更多的成本。畢竟同樣的設(shè)備、同一批用戶的情況,開(kāi)發(fā)者為什么要去開(kāi)發(fā)兩個(gè)版本的應(yīng)用呢?
如果單純靠砸錢(qián)就能成事,那么Windows 10 Mobile或許就不會(huì)以失敗告終。所以對(duì)于UWP來(lái)說(shuō),考慮到Windows 10/11的市占率剛剛突破50%,也就意味著仍有大量用戶還在使用Windows 8.1、Windows 7,甚至Windows XP。兩相權(quán)衡之下,開(kāi)發(fā)者自然就會(huì)選擇兼容性更出色的Win32方案。
再加上UWP應(yīng)用這種安裝在固定位置、運(yùn)行在沙盒環(huán)境、不能訪問(wèn)其他應(yīng)用內(nèi)存的產(chǎn)物,也難以滿足開(kāi)發(fā)者進(jìn)一步挖掘用戶數(shù)據(jù)的“小心思”。
所以用一句話總結(jié)就是,UWP被開(kāi)發(fā)者放棄是當(dāng)初Windows 10 Mobile失敗的連鎖反應(yīng)。而沒(méi)了移動(dòng)端操作系統(tǒng)的結(jié)果,就是微軟自己都成了Android第三方開(kāi)發(fā)者的情況下,幾乎就“拿捏”不了其他開(kāi)發(fā)者。而Xbox和MR設(shè)備的應(yīng)用場(chǎng)景又過(guò)于特化,難以支撐起除PC端的另一個(gè)應(yīng)用生態(tài)。但被迫回歸PC端的UWP應(yīng)用,在面對(duì)用戶基礎(chǔ)更好、功能更豐富的win32應(yīng)用時(shí),幾乎更是毫無(wú)競(jìng)爭(zhēng)力。
當(dāng)然,盡管UWP的失敗已經(jīng)能夠蓋棺定論,但微軟打通不同平臺(tái)的意圖卻并沒(méi)有冷卻,Windows App SDK其實(shí)就是UWP項(xiàng)目的遺產(chǎn)。