Safari瀏覽器正在殺死Web
Safari瀏覽器正在殺死Web作者|Scott Gilbertson
編譯|核子可樂、燕珊
來源:https://www.sohu.com/a/497097382_355140
延伸閱讀:https://bit.ly/3sPtDHN
蘋果的 Safari 瀏覽器在支援 Web 功能方面遠遠落後于其他競爭對手,它或許會成為下一個 IE。
時至今日,IE 6 的種種遺留問題仍然困擾著不少 Web 開發人員。這款雖然經典但卻毛病多多的瀏覽器大大降低了開發者的生活質量,甚至有激進的觀點認為它幾乎毀掉了整個網際網路。總之,IE 真的很差勁,它相當於是逼著 Web 開發者在冰天雪地中爬坡前行……經歷過的估計都懂。
但就算沒經歷過那個時代,如今的 Web API 開發人員也面臨著類似的難題——只不過這一次,難題來自蘋果。
蘋果的 Safari 瀏覽器在支援 Web 功能方面遠遠落後于其他競爭對手,這種落後到底達沒達到當初 IE 的「高度」仍有爭議,但不少人已經把 Safari 視為 IE「精神」留下的現實對映。而且可以肯定的是,Safari 當中的 WebKit 引擎確實遠不及其他瀏覽器方案。根據 Web Platform Tests 公佈的儀表板,基於 Chrome 的瀏覽器能夠支援 94% 的測試套件、Firefox 支援 91%,而 Safari 僅支援 71%。在桌面端,問題似乎不大;畢竟使用者可以隨時切換到最經典的谷歌 Chrome(甚至 Vivaldi)。
但是,在 iOS 裝置上,情況就沒那麼簡單了。
iOS 對於瀏覽器的壟斷
根據蘋果 App Store 中發佈的規定,「用於瀏覽網頁的應用必須使用適當的 WebKit 框架與 WebKit Java。」換句話說,無論選擇 Safari 還是 Chrome,iPhone 使用者們實際上使用的都是 Safari/WebKit 這對弱智組合。
蘋果在 iOS 上壟斷了瀏覽器選擇權,這是微軟在 IE 身上永遠沒能實現的終極目標。在 Windows 中,使用者至少還可以安裝 Firefox。 但即使在 iOS 上使用其他瀏覽器、包括 Firefox,我們用到的在本質上也仍然是 WebKit。或者說,只要大家選擇了 iOS 裝置,那麼 Safari 就將永遠伴你左右。
而真正讓 Web 開發者們頭疼的,則是蘋果緩慢的開發週期。蘋果最快也要每六個月左右才更新一次 Safari。而基於 Blink 的 Chrome 系瀏覽器則每六週更新一次(很快將進一步縮短為每四周更新),Firefox 每四周更新一次,Brave 甚至每三週就迎來一波更新。如此一來,蘋果不僅是新增新功能的速度太慢,這樣的開發週期也讓簡單的 bug 修復成果得等上好久才能正式登陸使用者裝置,而某些受到 Safari bug 影響的網站可能需要等待一年才能解決問題。
再深入觀察,我們會發現 Web Platform Tests 數據還暴露出 Safari 的另一大短板——即使 WebKit 能夠實現某項功能,其效果也往往不夠完整。以漸進式 Web 應用程式(PWA)為例,其目標是希望能讓 Web 應用的使用體驗無限接近於原生移動應用。
用於構建 PWA 的相關 API 可以實現全屏執行(無瀏覽器 UI)、發送通知與警報、離線狀態執行以及通過主螢幕圖示啟動等等。目前最具知名度的 PWA 案例當數 Twitter 與 Uber。
蘋果已經為開發人員實現了構建 PWA 所需要的大部分功能,但其中仍有著不少侷限性。比如蘋果還沒新增對發送通知和主螢幕應用圖示的支援,因此 本質上可以說 Safari 還沒有實現某些真正能讓網站用起來像原生應用的核心功能。
也正是因為蘋果這種故意削弱 WebKit 來護著自家 App Store 業務的行為,引發了開發領域的激烈爭論。因為如果蘋果老老實實推出所有支援功能,開發者就能構建起更好的 Web 應用,那到時候沒人買原生應用了怎麼辦……蘋果在 iOS App Store 中可是擁有 30% 的傭金抽成。
熱衷於做 Web 應用的開發者們對上述問題自然是非常關心的,但蘋果則不然——他們是世界上財力最雄厚的企業之一,並不擔心自己的倒行逆施行為會惹惱 Web 開發者群體。更重要的是,蘋果在保護自身利益的同時,還把新 API 支援功能的缺失解釋成保護使用者隱私……打著這面大旗,其他人也確實不好多說什麼。
Safari 真的在拯救 Web 嗎?
Safari 的支持者以及蘋果本身都堅定認為,之所以不支援那些新型 API,是爲了避免開發者訪問使用者的 USB 埠、藍芽裝置、電池狀態及 NFC 感測器等,進而導致廣告商利用這些資訊不斷侵蝕本已很脆弱的網際網路隱私。就算不擔心隱私,這些 API 也會減弱手機的電池續航能力。
我本人並不是 iOS 使用者,但蘋果在隱私問題上的堅定立場確實讓我相當心動。
我承認,我非常討厭現代網路,但我對隱私問題也不太擔心, 畢竟使用移動裝置本身就代表著與隱私的背離。我重視隱私,但如今網站可靠性低、速度慢而且對使用者抱有敵意等整體趨勢已經讓這種重視毫無意義。
我非常不喜歡 Java 驅動的 Web API 所帶來的體驗,所以已經開始在瀏覽過程中禁用 Java,這樣網路能瞬間恢復最初漂亮、簡潔的狀態,而蘋果肯定特別欣賞我這樣的使用者。我用過很多無需 Java 即可載入的網站,而且堅決不碰那些強制要求使用 Java 的站點。沒錯,既然 Invidious(YouTube 的開源前端替代產品)都能在無需 Java 的前提下載入 YouTube 內容,為什麼 YouTube 自己不行?我不在乎具體理由,但寫了個指令碼保證自己總會被重新定向至 Invidious 或者 PeerTube。
我想說的是,在這個問題上我是支援蘋果的;但我也承認,蘋果這種 Safari 落後性源自保護使用者隱私的說法壓根站不住腳。雖然我覺得蘋果不會非常擔心 Web 開發者能損害到 App Store 的根本利益,但其中的種種負面可能性也確實不得不防。於是,蘋果出於利益做出了選擇,再把它強行解釋成是在保護使用者隱私。
這些新 API 正在快速入駐其他瀏覽器,所以在一段時間之後,微軟 IE 當初的慘劇估計會重新上演。而大家也都清楚故事的結局:微軟輸了,其他瀏覽器都在快速發展,只有微軟 IE 徹底無人問津。
如果蘋果也沿著這條路走下去,那他們不僅會輸、甚至可能拖著整個 Web 一起陷落。因為蘋果支持者們有一點是對的:如果蘋果願意接受谷歌 Blink 的主宰,那其他競爭廠商也只能服從。
那這位新「主宰者」的能力究竟如何?Web 開發者 Tim Perry 最近寫了一篇名為《Safari 不是在保護 Web, 而是正殺死它》的文章,他表示,過去每種瀏覽器都會提供自己的擴充套件 API。但如今,「Chrome 已經深入人心,他們不斷提供更強大、更易於使用的擴充套件 API,人氣也一路水漲船高。而 Firefox 與 Safari,它們放棄了自有 API,轉而接納 Chrome 的 API。這相當於允許谷歌憑一己之力塑造 Web 擴充套件標準。」是的,當沒人敢站出來對抗市場領導者時,就會發生這種情況。「如果情況沒有大的變動,那麼谷歌的主宰之勢將愈演愈烈。這絕不是什麼好訊息。」
寫在最後
必須有人站出來阻擋谷歌和 Blink 瘋狂的擴張腳步,確保不斷涌現的 API 真能給 Web 使用者帶來助益。這一點對蘋果使用者很重要,對谷歌使用者乃至 Web 開發者也同樣重要。
大部分現代 Web 功能的開發是悄然進行的,期間鮮有爭論。Blink 開發者會在 Chrome 當中以開發者標記的形式發佈這些新功能。這已經成為一種共識和習慣,再要辯論或調整恐怕已經非常困難。
我倒不是說蘋果的動機就真有多高尚,但他們對 Safari 的堅持至少還能逼迫谷歌在統一 Web 標準流程的霸業上放緩腳步……但蘋果方面也得做出改變,否則 Safari 有可能步 IE 的後塵。
我的這些想法可能太過理想,但正如 Web 倡導者(前 Opera 佈道師)Bruce Lawson 所言,「如果蘋果允許 Safari 真正參與競爭,對於 Web 開發者、企業、消費者乃至整個 Web 領域的健康狀況都將是個好訊息。」
如果蘋果能夠調整功能開發當中的透明度(減少)與加快響應速度,那它一定可以更多地在新 API 的發展中發揮作用。而且如果蘋果真的擔心 API 影響到使用者隱私,就該用行動捍衛自己的觀點、反擊谷歌、拿出一套有競爭力的 Chrome 替代品。這可能不容易,但卻是今後 Web 還能健康發展的唯一希望。
頁:
[1]