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 浏览器显得很特别的功能。

英文原文:Chrome Extensions Are Coming To Firefox