蘋果試圖“殺死”Web技術

這家公司在自己的平臺上爲Web技術的使用設下重重障礙,希望開發者就此退縮。

用來構建Web的編程語言往往會在應用程序中找到自己的立足之地,這在很大程度上歸功於對應的軟件技術。這些軟件允許開發人員在開發支持Linux、Android、Windows和macOS等操作系統產品時,“複用”他們爲Web程序所編寫的代碼。

但是蘋果並不喜歡這種Web技術的循環再利用方式,它希望Mac App Store中塞滿你在其他任何地方都找不到的應用程序,不想讓在各個平臺上都能見到的應用充斥App Store。

隨着最近的政策更改開發人員向這家公司提交包含Web代碼的應用程序也變得更愈發困難。

Mac App Store已默默開始拒絕使用一款流行工具製作的應用程序:Electron允許開發人員在基於Web代碼的基礎上開發運行在所有平臺上的應用。App Store中的一些最受歡迎的應用程序(例如Slack、Spotify、Discord和WhatsApp等)都屬於這一類型。

Github上的相關討論中,幾位開發人員表示,他們使用Electron構建的應用程序被拒絕了——過去,這些應用還能通過審覈——但現在,審覈拒絕的同時還給出了說明:這些應用程序“試圖隱藏私有API的使用”。

這裏的“私有API“指的是專爲蘋果公司內部使用而設計的API,沒有對第三方開發人員開放授權。人們通常不贊成使用私有API來構建面向公衆的應用程序,因爲時間一長這些API可能被更改或損壞,並且蘋果公司禁止讓它們的應用程序上架。

多年來,Electron一直在使用這些私有API,過去都沒出什麼問題。這些私有API允許開發人員做很多事情,例如大幅改善功耗

相比之下,使用蘋果公司認可的工具實現類似的目標只會讓用戶體驗變得更糟。在大多數情況下,蘋果公司並沒有爲想要獲得這些私有API所提供功能的開發人員提供切實可行的選擇。

現在,除非Electron框架發佈重大更改,否則使用Electron構建應用的數千名開發人員已經不太可能爲應用發佈更新了。

開發人員可以從自己的網站分發他們的應用程序,要求用戶直接下載它們。但這意味着要放棄一些好處,諸如蘋果公司在Mac App Store中提供的自動更新機制和iCloud同步之類的功能。

而且,這種直接面向消費者的方法也可能很快就被鎖定了,因爲蘋果公司發佈了充滿爭議的公證條款,根據這一條款,蘋果可能會要求對這些第三方渠道發佈的應用進行審查。

蘋果公司在自己的平臺上阻礙Web發展的做法由來已久。在iOS上,蘋果公司不允許使用完全獨立的第三方瀏覽器,要求所有應用在渲染基於Web的內容時,都必須使用他們的Safari瀏覽器。

儘管App Store中提供了Chrome和Opera之類的瀏覽器,但它們必須在後臺使用蘋果公司的Safari瀏覽器來渲染網頁,不能使用自己的渲染引擎。這意味着蘋果壟斷了iPhone和iPad用戶訪問Web的方式

爲了推動開發人員在iOS上構建原生應用程序(而不是使用Web技術),蘋果公司出於自身利益,無視了其他瀏覽器實現的開放Web規範中的許多流行部分。

單獨來看,蘋果公司這些微妙的反競爭做法似乎並不怎麼可怕,但它們連在一起形成了一項明確的戰略。

例如,一種稱爲WebRTC的技術無需使用額外軟件即可在Web瀏覽器中進行視頻通話。它爲Google Meet等工具提供了支持。但蘋果公司實現這一規範的速度異常緩慢,還遺漏了一些關鍵功能。當開發者將這一技術嵌入到應用程序中時,它也無法正常工作。

蘋果公司還阻礙了一種新興的標準,即漸進式Web應用程序(PWA)——這項技術與Electron一樣,允許開發人員爲桌面和移動端構建效果類似原生的應用——蘋果的做法是隻實現該標準的一部分,結果讓它與完整標準相距甚遠,使開發者難以依靠。

如果用戶能在Chrome或Firefox中啓動PWA應用就不會出現這些問題,但是iPhone和iPad用戶無法安裝第三方瀏覽器,蘋果公司也關閉了用戶使用基於PWA技術的途徑。

開發人員願意使用諸如Electron和PWA之類的技術,是因爲它們加快了跨平臺更新的速度,並且無需使用一系列不同的代碼庫。

有人認爲這樣會產出質量較低的應用程序,但我認爲不用它們的結果就是根本做不出這種跨平臺應用,或者做出的應用程序更新緩慢,因爲針對Windows、Mac和Web平臺單獨維護產品的做法既複雜又昂貴。

蘋果公司最近推出了一個競爭性的框架,稱爲Catalyst,這一框架允許製作了iPad應用的開發人員將其快速引入macOS——對專門面向蘋果用戶的開發人員來說,這是一款出色的工具,但對那些跨平臺應用來說沒什麼意義。

單獨來看,蘋果公司這些微妙的反競爭做法似乎並沒什麼可怕的,但它們連在一起形成了一項明確的戰略:給開發人員在蘋果平臺上使用基於Web技術構建應用的做法設下重重障礙,最終逼迫這些開發者退縮

既然App Store不接受使用Electron構建的應用程序,開發人員可能會找出創新方法來解決這個問題,但是蘋果已經準備玩一場長期的貓鼠遊戲,因爲它計劃未來進一步控制平臺上可以運行哪些應用程序。

這些變化可能是以隱私或安全名義進行的。但現實情況是,當用戶和開發人員都沒有選擇權時,這種名義就顯得微不足道了,因爲蘋果公司控制了平臺、瀏覽器引擎和分發渠道。

無論你對Electron應用程序的質量有何看法,選擇權都是非常重要的。

蘋果對其應用程序生態系統的控制是一種新型的壟斷,對於立法者而言這是很難理解的,而且我們也難以反抗——因爲當公司同時控制發行渠道和平臺本身時,根本沒有擺脫這些限制的方法。

作者介紹

Owen Williams是一名開發人員,偶爾會寫一些東西。他是Medium的專欄作者,試圖挖掘技術背後的深層意義。

原文鏈接

Apple Is Trying to Kill Web Technology

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章