Firefox瀏覽器迎來重大升級:將支持Chrome插件
英文原文:Chrome Extensions Are Coming To Firefox
Mozilla 今天 宣布 對 Firefox 未來如何執行插件做出一系列重大調整。其中,最為重要的一項調整是,采用全新的插件 API,這種 API 將在很大程度上兼容當前 Blink 瀏覽器(例如 Chrome 和 Opera)使用的插件。這種所謂的 WebExtensions API 將確保開發者只需對其插件代碼做小幅改動,就可以運行于 Firefox 瀏覽器。
Mozilla 的凱文·尼達姆(Kev Needham)在今天的聲明中寫道:“我們希望插件開發更像是 Web 開發一樣:根據標準設定的行為,同樣的代碼應該可以運行于多款瀏覽器,多家廠商也會提供全面的文件資料。”
相比給 Chrome 開發具有相同功能的插件,為 Firefox 開發插件始終更為復雜一些。這一定程度上是因為 Firefox 采用 XPCOM 和 XUL 等技術(用以開發用戶界面)。這樣一來,Firefox 瀏覽器插件只能用在 JavaScript 語言環境下開發,雖然這種插件能保證開發者訪問大量 Firefox 重要功能,但同時也增加了操作的復雜性。
然而,這種“許可模式”(permissive model)將不復存在,基于 XUL、XPCOM 的插件以及由這些技術支持的許可插件模式,將在未來 12 到 18 個月內被 Mozilla 廢止。
值得指出的是,這些調整并不適用于使用更新的 Jetpack SDK 開發插件的開發者(只要他們呆在 Jetpack 的范圍內,不去觸及任何低級別 API)。
從 Firefox 42 開始,開發者在部署他們的插件之前,必須先經由 Mozilla 審核和批準。尼達姆寫道:“今天,審查在很大程度上是一個手動的過程,插件從最初提交到通過符合我們要求的完整審查,是一個費時耗力的過程,可能需要幾周甚至幾個月的時間。”
不過,Mozilla 希望轉而采用 WebExtensions API 將使得該公司可以更為快速地審查插件。Mozilla 還計劃將插件審查過程更多的自動化,將 Mozilla Web Store 上面列出的插件審查時間縮短至 5 天。
Mozilla 目前還在對 Firefox 瀏覽器做另一次重大調整。根據 Electrolysis 計劃,Mozilla 最終會將瀏覽器標簽和用戶界面分離出來,變成不同的流程,這樣,標簽出現問題就不會讓整個 Firefox 瀏覽器陷入癱瘓。
這項功能目前正通過 Firefox 開發者頻道實行,將成為 Firefox 43 第一個測試版本的默認功能。有些插件一開始并不能兼容 Electrolysis,所以 Mozilla 會要求開發者 測試其代碼 ,為這種轉變做好準備。 Firefox Nightly 頻道和開發者版本目前已經支持 WebExtensions API。
整體而言,這標志著 Mozilla 對待插件的方式將發生重大改變。Firefox 始終在追求的一件事是,希望能擁有一個極為豐富的插件生態系統,而插件開發者也能在 Firefox 上面從事在 Chrome 等其他瀏覽器上不能做的事情,包括更改用戶界面。
Mozilla 此舉究竟會對 Firefox 插件生態系統帶來怎樣的影響,還請大家拭目以待。不過,一個統一的插件生態系統對開發者和用戶而言都是極為有利的事情,畢竟,在這種生態系統下,開發者一 旦編寫了代碼,隨后只要進行稍微改動,就可以同時運行于 Firefox 和 Chrome 上面。
不過,Mozilla 面臨的風險是,它正在慢慢放棄一些曾令 Firefox 瀏覽器顯得很特別的功能。
題圖來源: 喬納森·南丁格爾(Johnathan Nightingale)/FLICKR,根據 CC BY-SA 2.0 協議授權
翻譯:皓岳