浏览器引擎多样性

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 提供适合您旅程各个阶段的云产品。 立即开始使用 价值200美元的免费积分!

我们2013年Opera使用Chrome时,失去了Opera。今年早些时候,Edge也遇到了同样的事情 当它也使用Chrome时。Mike Taylor 在我想要观看的一场演讲中将这些变化称为 “浏览器引擎世界正在减少多样性”

所以,我们剩下的只有Chrome、Firefox和Safari。Chrome和Safari拥有相同的血统,但已经足够不同,发展也足够独立,并且彼此之间也足够独立,因此将它们视为彼此不同的有意义。

我知道表达这一点有更花哨的词语。例如,浏览器引擎本身拥有不同的名称,这些名称与浏览器的名称不同。

以Chrome为例,它基于开源项目Chromium,该项目使用渲染引擎Blink和JavaScript引擎 V8

Firefox使用Gecko作为其浏览器引擎,它正在转变为Quantum,该引擎具有像Servo这样的CSS和渲染子部分。

Safari使用WebKit作为浏览器引擎,该引擎具有像WebCore和JavaScriptCore这样的部分。

这一切都有些复杂,我不确定自己是否完全理解。我的大脑只是将其视为主要浏览器名称下的所有内容。

从减少多样性的角度来看待这个问题的两个极端

  • 这很糟糕。 减少多样性可能会阻碍生态系统竞争和创新。
  • 这很好。跨引擎问题是世界上主要的生产力损失。减少到一个生态系统会更好。

无论如何,这都是不可逆转的。我们只能展望未来。

随机想法

  • 也许多样性只是改变了范围。与其说浏览器引擎本身代表多样性,不如说我们剩下的引擎的分支可以相互竞争。也许从强大的基础开始是创新的好地方?
  • 如果,上帝保佑,我们只剩下一个浏览器引擎,那么网络标准流程会怎样?人们担心的是,最后一个引擎不需要再担心互操作性了,它会肆意实现。但是,肆意实现是否意味着竞争环境永远不会恢复?
  • 当浏览器在对用户有益但不影响网络标准的功能方面竞争时,这很棒。出色的密码管理器、用户保护功能、巧妙的书签想法、阅读模式、与支付 API 的干净集成、免费 VPN 等。这是 Opera 的策略,现在我们看到了更多类似的策略。 Vivaldi 致力于定制, Brave 加倍注重隐私和安全性,而 Puma 致力于盈利。

Brian Kardell 最近在他的“超越浏览器供应商”帖子中写了一些关于这些内容的文章。一个有趣的观点是,剩下的浏览器引擎都是开源的。这意味着它们可以并且确实接受外部贡献,这正是 CSS Grid 存在的原理。

WebKit 和 Chromium(Blink)中大部分 CSS Grid 的工作,并非由 Google 或 Apple 完成,而是由 Igalia 的团队完成的。

考虑一下:这项工作的优先级不是由供应商决定的,而是由有远见的彭博社投资决定的,该投资为这项基本上没有争议的工作提供了资金。

现在,这个想法还在继续

这不是一个独特的故事,它只是一个非常重要且高度可见的故事,值得宣传。事实上,仅仅在过去 6 个月里,Igalia 的工程师就在 CSS Containment、ResizeObserver、BigInt、私有字段和方法、响应式图像预加载、CSS Text Level 3、将 MathML 带到 Chromium、标准化 SVG 和 MathML DOM 以及更多方面做出了贡献。

我们在浏览器引擎多样性中失去的东西,可能可以在浏览器引擎的开放性和外部参与者的积极参与中找回。