浏览器附加组件的未来前景黯淡

2020-08-31 21:36:38

几天前,Mozilla宣布发布他们的新Android浏览器。这一版本被称为“Firefox Daylight”,其目的无非是“彻底改变移动浏览”。当然,这也适用于浏览器扩展:

最后但并非最不重要的一点是,我们改进了扩展体验。我们知道附加组件对许多Firefox用户来说扮演着重要的角色,我们希望确保在开始使用我们最新的Android浏览应用时为他们提供尽可能好的体验。我们从9大插件开始,从我们推荐的扩展程序中增强隐私和用户体验。

这篇文章小心翼翼地避免直接说明的是:现在你可以在Firefox for Android上安装的插件只有9个(如:个位数9个)。在之前能够使用数以千计的附加组件之后,这感觉像是一次重大的降级。特别是考虑到似乎没有技术上的原因,为什么不再允许其他附加组件,这只是一个政策决定。我已经验证了我的插件仍然可以在Firefox for Android上运行,但不被允许,其他大多数插件应该也是如此。

在此版本发布之前,Firefox是唯一允许任意附加组件的移动浏览器。Chrome曾在移动设备上试验过附加功能,但从未真正发布过这一功能。Safari实现了一个半心半意的广告拦截界面,赢得了很多掌声,但从来没有让这个功能真正有用或灵活。所以看起来火狐在这方面有很大的竞争优势。为什么要把它扔掉呢?

不幸的是,支持附加组件需要付出相当大的代价。这不仅仅是开发和维护必要功能的成本,还有浏览器扩展的性能和安全影响。Mozilla已经在这个问题上挣扎了一段时间。最初的解决方案是在发布之前审查所有扩展。这是一个昂贵的过程,也带来了延迟,所以到目前为止,所有的加载项都是立即发布的,但最终仍然应该进行手动审查。

Mozilla目前在市场份额和财务方面都面临挑战,后者与前者挂钩。当Mozilla在几周前裁员四分之一时,这一点再次变得明显起来。过去,附加组件几乎没有帮助Mozilla在移动领域取得突破,所以在这里削减成本也就不足为奇了。而且,适当地审查9个扩展肯定比跟踪1000个扩展更便宜。

是的,他们还说稍后会提供更多的附加组件。但如果你仔细观察,Mozilla围绕这件事的所有沟通都集中在遏制损害上。我看了一大堆博客帖子,没有任何地方简单地写道:“当这个发布时,将只允许少数附加组件,添加更多将需要我们的明确批准。”许多Firefox用户依赖于插件,所以我怀疑策略是为了防止这些用户的强烈抗议。

这也可能是为什么扩展开发人员没有收到关于这个“小”更改的警告的原因。就我个人而言,我是从一位用户的问题报告中了解到这一点的。虽然已经围绕推荐的扩展计划进行了一些沟通,但从未提到参与此计划是扩展保持可用的先决条件。

我当然希望Mozilla稍后会添加更多的附加组件。但它将是用户呼声最高的。只有几个用户的利基插件?你运气不好,…。

这也意味着:附加组件生态系统的当前状态将被永久保存。如果只允许流行的附加组件,其他附加组件就没有机会变得流行起来。而且由于每个附加组件都必须从小处开始,所以开发任何新的东西都是徒劳的。

当然,桌面浏览器中的附加组件支持看起来要好得多,所有主流浏览器都支持附加组件。把关也不是这里的常态,到目前为止,苹果是唯一家阻止新来者的供应商。然而,这里也可以看到稳步的退化,可悲的是,这是一个持续的趋势。

浏览器扩展是由Mozilla首创的,最初具有与浏览器自己的代码相同的访问级别。这允许非常强大的扩展,例如,Vimperator扩展实现了完全不同的用户界面范例,其灵感来自于VIM编辑器。不管你是不是VIM的粉丝(很少人是),能够做这样的事情是非常令人振奋的。

因此,Mozilla吸引了非常活跃的扩展构建者社区也就不足为奇了。已经有了很多创新,扩展展示了浏览器的全部潜力。其中一些功能最终被浏览器采用。例如,还记得Firebug吗?与任何现代浏览器中可用的开发人员工具的相似性是惊人的。

一旦Google Chrome问世,这个扩展系统就注定要失败。它有太多的缺点,无法在浏览器市场的激烈竞争中生存下来。David Teller在他的博客文章中解释了为什么Mozilla别无选择,只能删除它,当然他是绝对正确的。

至于用什么来取代它的决定,我仍然不相信Mozilla在决定复制Chrome的扩展API时做出了正确的选择。虽然这使得跨浏览器扩展的开发变得更容易,但它也将Firefox扩展限制在Chrome支持的功能上。一开始,火狐在定制方面处于明显的领先地位,突然之间,它开始追逐Chrome,努力保持完全的兼容性。当然,谷歌拒绝就其文档不足的扩展API的标准化进行合作(令人惊讶!)。

最初,Mozilla承诺他们不会局限于Chrome提供的功能。他们打算很快添加更多功能,这样就有可能进行更强大的扩展。他们还打算为扩展开发人员提供一种自己编写新的扩展API的方法,以便创新可以超出浏览器开发人员的预期。除了对Chrome的API做了一些微不足道的改进外,所有这些都没有真正实现。

因此,谷歌和它的Chrome浏览器现在正在决定哪些扩展应该能够在任何浏览器上进行。毕竟,Mozilla是仅存的独立扩展实现,不再是真正的竞争对手。现在他们有了这个定义权,谷歌不出所料地决定削减扩展带来的成本。其中,这一变化将移除webRequest API,这是目前扩展可用的最强大的工具之一。我预计Mozilla迟早会效仿。这不太可能是最后一次削减功能。

最近的浏览器大战为现代浏览器设置了一个非常高的标准。我们拥有精巧而快速的浏览器,支持大量的Web标准和极其强大的Web应用程序。然而,代价很高:用户的选择明显减少,本质上是Firefox与Chrome的较量,现在它的众多品种,其他浏览器引擎都无法生存。谷歌的近乎单极对网络开发的负面影响还不是很明显,但在浏览器定制领域,它们已经非常清楚地显示出来了。

Google Chrome现在是浏览器定制的基准。在移动设备上,这意味着任何超出“任何附加支持”的东西都将被认为是革命性的一步。Mozilla并不是第一个为自己提供了几个精选的附加组件而庆幸的移动浏览器供应商。移动浏览器的开放附加生态系统不会再发生了。

在桌面上,谷歌几乎没有动力保持较高的附加支持门槛。这里将会有更多的功能损失,所有这些都是以性能和安全的名义进行的。尽管有这些崇高的目标,但这意味着用户将会蒙受损失:插件的创新影响正在消失。在未来,所有的创新都必须来自浏览器供应商自己,没有试验或利基解决方案的空间。