Electron 遭封殺,Web 開發者在蘋果平臺上舉步維艱

在蘋果平臺上使用Web技術的難度越來越大,開發人員不得不作罷。

Electron 遭封杀,Web 开发者在苹果平台上举步维艰

作者 | Owen Williams

出品 | CSDN(ID:CSDNnews)

構建Web的編程語言往往也會涉足移動應用。這在很大程度上是為了讓開發人員可以重用構建Web產品時編寫的代碼,通常這些代碼需要在Linux、Android、Windows和macOS等操作系統上運行。

然而,蘋果卻不喜歡這種Web技術的重用。它希望Mac應用商店中的應用不會出現在其他任何地方,且無法在其他平臺上運行。最近,蘋果又出現了政策變動,致使開發人員在提交包含Web代碼的應用時會遇到更大的困難。

Mac應用商店已悄然開始拒絕使用流行工具Electron製作的應用,因為開發人員可以通過該工具以Web代碼為基礎構建一切應用。蘋果商店中一些非常流行的應用,例如Slack、Spotify、Discord和WhatsApp等都屬於此類。

在Github社區的討論中,數名開發人員表示,他們使用Electron構建的應用遭到了拒絕(以前這些應用都獲得了批准),蘋果給出的解釋是“試圖隱藏私有API的使用”,也就是說這些API並非專門為蘋果內部使用而設計,而是為了第三方開發人員。通常我們不贊成使用私有API來構建面向公眾的應用,這是因為這些API可能會隨著時間的流逝而發生變化或出問題,而且蘋果也禁止應用使用這類API。

多年來,Electron使用這些私有API都沒有問題。開發人員可以利用有些私有API大幅改善功耗,而蘋果認可的工具會破壞用戶的體驗。在大多數情況下,蘋果並沒有為需要訪問這些私有API功能的開發人員提供其他方法。

如今,除非Electron框架的實現發生重大變更,否則使用Electron構建了應用的數千名開發人員都無法發佈更新。

雖然開發人員可以通過網站分發他們的應用程序,要求用戶直接下載,但這意味著他們需要放棄Mac應用商店中的自動更新機制和iCloud同步等功能。而且,這種直接面向消費者的方法也可能很快也會陷入僵局,因為蘋果公司頗有爭議的公證要求可能會提出審查的要求。

以前蘋果也曾有過阻礙Web在其平臺上發展的舉措。

蘋果不允許在iOS上使用完全獨立的第三方瀏覽器,並要求所有應用在呈現基於Web的內容時都必須使用蘋果的Safari瀏覽器。儘管蘋果商店提供了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技術越來越痛苦,開發人員不得不作罷。如今,蘋果商店不再接受使用Electron構建的應用程序,開發人員可能會找到創造性的迂迴策略,但無疑這是一場蘋果與開發人員之間永不停息的貓鼠遊戲,蘋果計劃今後更進一步控制在其平臺上運行的應用。

一般這類的變動都會以隱私或安全的名義展開,然而現實情況是,如果用戶和開發人員都沒有選擇權時,這種爭論就顯得微不足道了,因為蘋果控制著這個平臺、瀏覽器引擎以及應用的分發方式。無論你如何看待Electron應用的質量,選擇才是最重要的。

蘋果對其應用生態系統的控制是一種新型的壟斷,對於立法者而言這種做法很難理解,而且我們也毫無反抗之力,因為當蘋果同時控制著發行方式和平臺本身時,我們根本就沒有辦法擺脫這些桎梏。

原文:https://onezero.medium.com/apple-is-trying-to-kill-web-technology-a274237c174

d

本文為 CSDN 翻譯,轉載請註明來源出處。

【END】


分享到:


相關文章: