蘋果:你甚至可以在 Safari 中使用 Chrome 的插件

蘋果於近日宣佈,Safari 將採用與 Chrome、Firefox 和 Edge 相同的擴展技術 WebExtensions API。

Chrome 有着龐大的擴展生態系統,各種各樣的擴展程序爲 Chrome 提供了諸多便利的功能,使得 Chrome 深受用戶和開發者的喜愛,其他廠商也紛紛嘗試在自家瀏覽器中加入擴展程序功能。爲了讓開發者不需要寫多套代碼,Mozilla 發佈了 WebExtensions API。WebExtensions API 主要基於 JavaScript、HTML 和 CSS,可以重新打包並在 Chrome、Firefox 和 Edge 等其他瀏覽器中使用。據 Mozilla 的官網介紹,該 API 旨在:

  • 使附加組件在各瀏覽器之間的移植變得更容易;
  • 審查 addons.mozilla.org (AMO) 的附加組件變得更容易;
  • 加強多進程 Firefox 的兼容性(例如 Electrolysis 項目);
  • 對 Firefox 內部代碼進行更改時不會破壞附加組件;
  • WebExtensions API 應該比現有的 Firefox XPCOM/XUL API 更容易使用;
  • WebExtensions API 應該保持可接受的安全和隱私標準。

隨着主流瀏覽器都採用 WebExtensions API,這項擴展技術也逐漸成爲了不成文的標準,既方便用戶從一個瀏覽器切換到另一個瀏覽器,又可以提高前端開發者的開發效率。最早使用這一 API 的是 Firefox,從 v57 版本開始正式採用 WebExtensions API。此後,多家瀏覽器廠商也紛紛採用該 API,除了蘋果。雖然總是被開發者抱怨,但蘋果一直沒有引入該功能。

近日,蘋果宣佈 Safari 也可以使用 WebExtensions API 了。蘋果此前所使用的 Safari App Extensions 雖然在 macOS 應用程序和 Safari 之間共享代碼很便捷,但無法將組件移植到其他瀏覽器,也無法將其他瀏覽器的組件移植到 Safari 中。

據蘋果官網介紹,開發者需要使用 Xcode 對其進行打包,以在 Safari 中進行測試,同時開發者需要是 Apple Developer Program 的成員才能將項目上傳到 App Store。創建 Safari Web 擴展程序,有兩種方式:

  • 將現有的擴展程序轉換爲 Safari Web 擴展程序。這樣可以在 macOS 的 Safari 瀏覽器中使用該程序並且可以上傳至 App Store。開發者可以使用 Xcode 中的命令行工具來簡化此過程;
  • 使用內置模板在 Xcode 中構建新的 Safari Web 擴展。然後,開發者可以重新打包該文件,以在其他瀏覽器中進行部署。

值得注意的是,Safari Web 擴展需要在 macOS 11 及更高版本或者安裝了 Safari 14 的 macOS 10.14.6 或 10.15.6 中使用。

蘋果爲了讓用戶使用 Safari 做了諸多努力:蘋果早些時間修改了“隱私權”偏好設置,可以阻止跨站追蹤和阻擋所有 Cookie;加入了“網頁翻譯”功能等。此次還在 Safari 中引入 WebExtensions API,使開發者可以通過 Safari WebExtension Converter 開發工具將 Chrome 和 Firefox 等瀏覽器的插件直接移植到 Safari 中。1Password 開發商 Agilebits 也在前不久宣佈會將旗下 1Password X 瀏覽器插件移植到 Safari 上。

根據蘋果官方的說法,Safari 在性能方面領先於所有瀏覽器,比 Chrome 快 50% 以上。同時還擁有更低的功耗,Safari 在視頻觀看方面比 Chrome 和 Firefox 多出了最高達 3 小時的續航時間,瀏覽方面多出了 1 小時的續航時間。

圖片來源於蘋果官網

如果 Chrome 中的擴展程序全都可以在 Safari 中使用,你會選擇更換瀏覽器嗎?歡迎在評論區分享你的看法。

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