尽管Mozilla在去年8月就宣布了新的WebExtensions API,但它仍一直在却说人们新的附加组件SDK要比旧的更好。问题在于,大家喜爱着强大而功能宽泛的XUL/XPCOM附加组件平台,即使这种老式的附加组件是在浏览器内部工作的、且只要Mozilla亦更新Firefox就得逼着他们重更新一次代码。
为了避免这一麻烦,Mozilla特别打造了全新的Web扩展API,它就像是部署在基于Chromium的浏览器(比如Chrome、Opera和Vivaldi)上的扩展系统的一个克隆版。
鉴于Firefox拥有一拨更老更偏激的粉丝基数,许多用户对此并不买账,且对Mozilla的最新改动方案表示了直言不讳的反对。
为了消除人们对于新扩展API的疑虑,并使之相信这一决定是有益的,Mozilla首席工程师特地撰文解释了一番:
首先,如前所述,拥有一个类似Chromium的扩展API可允许跨浏览器的互操作性,插件开发人员也无需维护两个独立的代码库。
此外,支持跨浏览器扩展,对每一个人都是好事,那样很多酷炫的插件都不会仅限于单浏览器平台了。
不过,Mozilla并不是要打造一个Chrome类型的扩展API:
尽管我们最初的API优先事项,放在允许Chrome扩展与Firefox互操作上,我们也计划积极和有竞争力地拓展WebExtensions API的功能。
基金会将对添加到API中的功能建议保持欢迎和开放,即使它们并不是原Chromium扩展SDK所原生支持的。
WebExtensions提供了更好的性能,而它借自Chrome扩展的一个隐藏特色是其(定义脚本和执行的)manifest.json文件。只要开发者肯花时间妥善地设立起这种通用设置文件,就可以提升它的性能。
不止于此,由于旧版XUL/XPCOM API会在升级新版Firefox后“搞破坏”,Mozilla早已为自家扩展平台在面临即将计划添加进来的重大变化前,设置了所有必要的“防火层”。
这包括了多进程支持(分割网页内容的核心处理以提升浏览器稳定性),而新WebExtensions API从一开始就是与该功能完整兼容的。
WebExtensions提供了更好的安全性,因为它不与浏览器内部交互,所以流氓扩展给系统造成破坏、利用漏洞代码、以及感染恶意软件的几率都变得极小。
相同的Manifest配置文件将得到保留,挡在任何插件所需的许可之前,允许Mozilla员工和测试工具更轻松、更快速地检测未依附于Manifest配置文件的流氓代码,在它们造成破坏前就一票否决掉。
按照当前的WebExtensions时间表,我们会在2016年8月2号发布的Firefox 48上见到它的身影。如需抢鲜体验,请下载当前最新版本的Firefox每夜构建版(Nightly Edition)。
[编译自:Soft Pedia]
支付宝扫一扫
微信扫一扫
赏