Mozilla 最近宣布要在 2016 年结束之前停止 Firefox 中的 NPAPI 支持,Flash 是唯一的得到继续支持的插件。
NPAPI(Netscape Plugin API,网景插件 API)是一项有着 20 年历史背景的技术,Google 对其进行了一番批判,认为它是“导致浏览器挂起、崩溃,引发众多安全事件以及增加代码复杂度的罪魁祸首。”Google 在决定自2015 年起不再在Chrome 中支持这一技术,微软同样也宣布他们最新的浏览器 Edge 将不再支持 ActiveX 插件,迫使开发者用 web API 开发新的解决方案。
Mozilla 马上进行了跟进,宣布将在 2016 年底以前逐步淘汰 Firefox 中对于 NPAPI 的支持,给开发者预留了很长一段时间来移植他们的插件。Mozilla 的 Firefox 质量工程团队管理者 Benjamin Smedberg 在一篇博客文章中说道:“事实上,对于Web 用户而言,插件已经变成一个性能问题、崩溃以及安全事件的源头,在2016 年底前,网站的维护者应该准备在所有Firefox 的版本中停止使用插件。”他认为目前大部分以前只能通过插件实现的功能现在已经在浏览器中集成了,所以大可在当前这个时点宣布在未来抛弃古老的插件技术。他同时也提到,即将到来的64 位Windows 版Firefox 将不再支持插件。
当然Flash 是个例外,由于“对于大多数用户来说,Flash 仍然是Web 体验的一个通用部分”,所以Mozilla 决定继续支持Flash。但是Unity、Java、Silverlight、Adobe Acrobat 这些插件则必须要离开浏览器的舞台。一些开发者抱怨说他们的产品需要访问原生的API,Smedberg 推荐的解决方案是:要么编写一个纯原生的应用,然后将插件重编译为 asm.js 或 Webassembly ;要么使用新版本 Firefox 浏览器中可用的 web API 重写这些功能。他又提到说,Mozilla 将继续“优先考虑实现有助于网站摆脱插件的那些特性。”
目前只有 Safari 尚未针对 NPAPI 进行任何表态,尤其是现在 Mozilla 已经决定停止支持这一特性,Apple 在未来很可能将其从 Safari 中移除。
查看英文原文: Firefox Will No Longer Support Plug-ins Except for Flash
评论