11.27 蘋果打算棄用Web App,加強生態系統壟斷

神譯局是36氪旗下編譯團隊,關注科技、商業、職場、生活等領域,重點介紹國外的新技術、新觀點、新風向。

編者按:對於開發者而言,如今從別的平臺直接搬運代碼到蘋果平臺越來越困難了,其中一個原因就是蘋果增加了代碼直接移植的難度,一方面是蘋果希望獨佔這些程序,讓開發者僅僅維護蘋果這一個平臺的程序,另一方面這也是蘋果進行生態壟斷進程中的一部分。本文譯自Medium中原標題為“Apple Is Trying to Kill Web Technology”的文章。

很多開發網頁的編程語言通常也可以編寫應用程序。這在很大程度上是由於軟件允許開發人員在他們構建的產品中“重用”他們為網頁編寫的代碼,這些產品可以在Linux、Android、Windows和macOS等操作系統上運行。

但蘋果有理由不喜歡這種網頁開發技術的循環利用。它希望自己的應用商店裡的應用程序是你在其他任何地方都找不到的,而不是在每個平臺上都能找到的。隨著最近政策的改變,該公司讓開發者提交包含網頁代碼的應用程序變得更加困難。

苹果打算弃用Web App,加强生态系统垄断

蘋果的應用商店已經開始悄悄地拒絕使用一種名為“電子(Electron)”的流行工具開發的應用程序,這種工具可以讓開發人員將所有的網頁代碼都直接轉變為應用程序。應用商店中一些最受歡迎的應用,如Slack、Spotify、和WhatsApp,就屬於這一類。

在一次開源社區Github的討論中,幾位開發人員表示,他們拒使用Electron開發的應用程序,因為這項技術會導致有些代碼不透明,所用的技術和調用的第三方庫都不明確,這帶來一個問題就是用這種技術開發的軟件通常質量比較一般,因為用不明確的第三方的技術很不穩定,會帶來閃退、黑屏、卡頓等問題。所以蘋果公司希望開發者都用他們提供的接口去開發代碼,這樣的話能更大程度地去匹配他們的設備。

多年來,Electron公司一直在使用自己開發的第三方庫。例如,有些api有強大的功能,能極大地提高開發人員的效率,而蘋果授權的工具有時候卻讓開發人員多走很多彎路。在大多數情況下,蘋果並沒有為這些開發人員提供真正的更便捷的替代方案。

現在,除非Electron框架對其實現進行重大更改,否則數千名使用Electron構建應用程序的開發人員不太可能重新更新他們的代碼。

開發者也可以在自己的網站上發佈應用,讓用戶直接下載。但這意味著蘋果將放棄從應用商店和iCloud同步中自動更新的功能。這種直接面向消費者的下載方式可能很快也會被蘋果禁止,因為蘋果需要這些應用程序通過他們的審查以後才能被用戶下載。

蘋果其實一直以來都在向網頁應用施加壓力。在iOS系統上,蘋果不允許完全獨立的第三方瀏覽器,要求所有應用程序在呈現網頁的內容時都要利用Safari瀏覽器。雖然Chrome和Opera等瀏覽器可以在應用商店中使用,但它們必須在後臺使用蘋果的Safari瀏覽器來呈現網頁,而不是自己的網頁。這意味著蘋果壟斷了iPhone和iPad用戶的上網方式。為了推動開發人員在iOS上構建應用程序,而不是使用網頁開發技術,蘋果為了自身的利益,忽略了其他瀏覽器已經實現的成熟的網頁開發規範。

蘋果微妙的反競爭做法單獨來看並不可怕,但它們共同構成了一個明確的戰略。

例如,一種名為WebRTC的技術允許在網頁瀏覽器中進行視頻通話,而不需要額外的軟件。它為像谷歌Meet這樣的工具提供技術支持。但蘋果在實現這一規範時速度慢得令人難以置信,遺漏了一些關鍵的功能,而且這項技術嵌入應用程序後無法工作。

蘋果還限制了一種新興的標準,叫做漸進網絡應用程序(PWAs),它和Electron一樣,允許開發者為桌面和移動設備開發類似於基於網頁的應用程序。如果用戶在Chrome或Firefox中打開應用程序,PWA不會出現同樣的問題,但iPhone和iPad用戶由於真正利用第三方瀏覽器,這使得基於PWA的技術毫無希望。

開發人員使用諸如Electron和PWA之類的技術,因為它們允許跨平臺進行更快的更新,而不需要一組完全不同的代碼和完全不同的編程語言。有些人認為這會導致應用程序質量下降,但我認為並不會,對於想要跨平臺而不用諸如Electron和PWA技術的應用來說,另一種選擇是隻用網頁而完全不使用應用程序,或者是減少應用程序在不同平臺的更新代價,因為同時維護同一個應用在Windows、Mac和基於網頁下的代碼既複雜又昂貴。蘋果最近推出了一個與之競爭的框架,名為Catalyst,它允許iPad應用程序的開發人員快速地將它們帶到macOS系統上——對於專門針對蘋果用戶的開發人員來說,這是一個很好的工具,但對於那些開發跨平臺應用程序的開發人員來說就不是這樣了。

蘋果微妙的反競爭做法單獨來看並不可怕,但它們共同形成了一個明確的戰略:讓那些在蘋果平臺上使用基於網頁的技術開發應用程序變得非常痛苦,從而使開發人員放棄這條道路。既然App Store現在不接受使用Electron開發的應用,開發者可能會找到另外一些創造性的方法來解決這個問題,但蘋果正在為一場持續的貓鼠遊戲做準備,因為它計劃在未來對哪些應用可以在這個平臺上運行施加更多的控制。

這些控制可能是以隱私或安全的名義進行的,人們可能會抗議,但這種抗議非常無力,因為蘋果控制著平臺、瀏覽器引擎和發佈方法,所以用戶和開發者都別無選擇。

蘋果對其應用生態系統的控制是一種新型的壟斷,立法者很難理解,我們也很難反擊——因為當公司同時控制分銷方式和平臺本身時,我們根本沒有辦法擺脫這些限制。


分享到:


相關文章: