Safari 14引入擴展程序支持但沒多少開發者願意“折騰”
在WWDC 2020 上,蘋果宣佈為Safari 瀏覽器引入Chrome 風格的網頁擴展程序(WebExtensions API)。不過正如Dan 所指出的:“蘋果還是按照自己的模式來運作。如果你想要發布一個網絡擴展,那麼它必需在Xcode 中包裝在原生Mac 應用中。從應用商城上安裝應用也會安裝網絡擴展”。
Safari 14(支持在Big Sur、Catalina 和Mojave 上運行)理論上可以讓基於JavaScript 的Chrome、Firefox、Edge 和其他瀏覽器的開發者帶來大體相同的代碼,並將其提供給Mac 上的Safari 用戶。
可是,如果擴展開發者不願意做額外的工作以便於在Safari 中運行,這一切可能都是徒勞的。現在距離Safari 14 發布已經過去數月時間,那麼有多少開發者願意“折騰Safari”呢?
答案是基本上沒有–至少目前來看是沒有。目前在Mac App Store 上提供的Safari 擴展庫基本上都是Safari 14 發布之前的那些東西,只有少數例外。
PocketTube 是一個專注於YouTube 的擴展,最近增加了對Safari 的支持。OneTab 將打開的標籤頁合併到一個頁面中。Blue Canoe Dictionary 則讓你高亮顯示英語單詞,並學習它們的發音。
OneTab
Blue Canoe Dictionary
Blue Canoe Learning的托尼·安德魯斯(Tony Andrews)表示,Blue Canoe很樂意將其擴展功能移植到Safari上,其動機是能夠接觸到所有那些之前無法使用Safari for Mac的用戶。他告訴我說:”如果你已經熟悉蘋果的開發者工具和生態系統,這肯定會有幫助。”他還表示,這個過程非常順利。
安德魯·亞伯拉罕·亞伯拉罕維茨(Andrew Abrahamowicz)是優秀的Library Extension 的開發者,它可以將當地圖書館的圖書供應情況覆蓋在亞馬遜等網站的圖書相關頁面之上。Abrahamowicz 開發Library Extension 已經有十年了,雖然它還不支持Safari,不過他正在努力。
Library Extension
Abrahamowicz 表示,Library Extension 並不是他的主業,因此他能付出的精力也非常有限。當然,支持一個新的平台需要很多額外的工作。不過Abrahamowicz 最近得到了一台新的M1 Mac,並開始了Safari 版Library Extension 的開發工作。
除了需要用Xcode 進行設置之外,Abrahamowicz 還必須處理蘋果對擴展的一些特定的安全限制,這可能需要他實際編寫一些Mac專用的代碼,以便讓Safari 版的Library Extension 擁有和其他平台上一樣的功能。
從Abrahamowicz 可以看到很多問題,例如時間有限,無法使用蘋果的硬件,不熟悉蘋果的開發工具,Safari與一些現有的擴展開發工具不兼容,以及為了適應蘋果的安全模式而需要對代碼進行一些修改。
即便是最流行的擴展程序,也像Library Extension一樣,是某個人在業餘時間自己撓痒癢的產物。如果這個人不使用Safari,甚至不擁有Mac,那麼很難想像他們會做額外的工作,將自己的擴展帶給Safari 用戶。
其中一個典型的例子就是Beyond20。這款擴展程序能夠將D&D Beyond 角色表與Roll20 等虛擬桌面服務連接起來。在Mac 設備上如果想要使用它,外媒編輯就不得不切換到Chrome 或者Firefox。
Beyond20項目負責人Youness Alaoui寫道:“不幸的是,它不會登陸Safari了。因為我平時不使用Safari,而且它並不是基於Chromium的,所以需要額外的工作才能讓它在Safari上運行。甚至微軟也聯繫過我,要求將擴展添加到Edge商店(不需要任何改變),我正在猶豫,因為在發佈時向另一個網站提交軟件包會帶來額外的費用。讓它與Safari一起工作本身就是一件令人頭疼的事,我想我永遠不會準備好。對不起!Alaoui不願意在Safari上運行。”
Alaoui 不願意將他的擴展提交給微軟的目錄,說明了一切–對於一個本質上是激情的項目來說,這需要更多的工作,以及對持續支持的承諾。據推測,還有99美元/年的蘋果開發者賬戶費用,這超出了很多此類項目的範圍)。
好消息是,如果一個擴展是一個開源項目,可能只需要一個積極的粉絲就可以讓它在Safari 上運行。用於JavaScript 的Vue 開發者工具無法在Safari 上運行,但有人正試圖獲得社區資金,以支付某人使其運行。這需要一個有時間或金錢的社區–以及一個認為值得做的開發者–但這並非不可能。
那麼最後,蘋果宣布支持Safari中的WebExtensions API的淨效果是什麼呢?這是一項正在進行中的工作。App Store 中已經出現了極少數的擴展,而且似乎很有可能其他的擴展會以自己的速度跟進。其他開發者仍舊完全不為轉移到Safari所帶來的所有額外工作所動。
在外媒看來,如果蘋果最終能將Safari擴展技術帶到iOS上,就能迅速推動Safari擴展的應用。針對Mac是不錯,但如果他們能針對iPad和iPhone,我們可能真的會有一些收穫。