隆重推出 Chrome Dev Insider

Ben Galbraith
Ben Galbraith

开发者经常告诉我们,他们很难跟上网络上的变化,也难以理解这些变化的原因。今天,我们将推出一个名为 Chrome Dev Insider 的新系列文章,在其中分享以下内容:(1) 最新动态和值得关注的资讯;(2) 深入了解我们如何就某个关键主题(例如更改 FLOC)做出决策或如何处理与生态系统相关的工作(例如 2022 年互操作性大会);(3) 您需要了解的任何重要事项(例如用户代理字符串的变化)。

我们将在分享我们正在做的工作时,着重介绍 2022 年的四大重点:

  • 提供出色的用户体验:让用户能够直观地使用各种功能,无论是性能、交易、身份还是转换。
  • 提升 Web 的功能:支持 Web 从内容消费平台演变为提供各种体验(包括需要深度操作系统和硬件级集成的体验)的平台。
  • 简化 Web 开发:简化决策制定流程,提高开发者的工作效率。
  • 改善网站隐私保护:随着开发者在跟踪和定位方面的日益精进,网站用户对更好的数据隐私保护的期望也越来越高。

新闻资讯:Interop 2022

在规划路线图时,我们会参考开发者反馈,了解网站开发者的首要痛点和需求等。反复出现的一个关键主题是浏览器兼容性,即确保在不同浏览器中提供相同的体验。在过去一年里,我们一直在与生态系统合作,以“简化 Web 开发”为首要任务来解决这一主题。

去年,Microsoft、Chrome 和生态系统参与者宣布了 Compat 2021,这使得所有热门浏览器引擎(Chromium、Gecko 和 WebKit)在今年确定的五大重点领域中都获得了 90% 以上的得分。除此之外,Compat 2021 还为强大的功能(例如 CSS 网格[使用率为 12%,且稳步增长]CSS Flexbox[使用率为 77%])奠定了坚实的基础。

上个月,Apple、Bocoup、Google、Igalia、Microsoft 和 Mozilla 作为支持者联合起来,解决了 Web 开发者发现的热门浏览器兼容性问题,并就一项共同的基准达成一致。最终,我们推出了 Interop 2022 项目,旨在为平台带来更一致的体验。该基准重点关注开发者认为对提高工作效率至关重要的 15 个重点领域

内幕消息:与浏览器同行合作

在 Interop 2022 即将召开之际,我与参与过这些对话的 Robert NymanPhilip Jägenstedt 进行了深入交流,了解了其中的来龙去脉。下面是编辑剪辑的版本,展示了该视频的制作过程。

这项计划的起源是什么?

Robert:这一切还要从 2019 年进行的 2019 年 MDN DNA 调查说起。兼容性问题显然是面向 Web 进行构建的开发者的首要问题,我们在 2020 年 MDN 浏览器兼容性报告中进行了更详细的跟进。这为我们提供了足够的信息和实用数据,让我们得以启动 Compat 2021 计划,进而通过 Interop 2022 继续开展这项工作并扩大其范围。

Philip:我还想提一下 web-platform-tests2021 年 CSS 现状。我们与其他浏览器供应商一直在使用 WPT 进行测试,并取得了良好的合作成效,因此我们非常希望继续沿着这条路走下去。这些功能的测试大多已编写完毕,因此我们只需审核测试并添加一些缺失的测试覆盖率即可。Google 在 wpt.fyi 上投入了大量资源,但我们也要感谢 Mozilla,WPT 之所以能够取得今天的成就,离不开他们的支持。当然,Mozilla 也为 MDN DNA 调查做出了巨大贡献。除此之外,还有 2021 年 CSS 状态报告。为了举办 Interop 2022 这样的活动,我们需要获得有关 Web 开发者需求的新见解,因此我们与调查问卷维护者 Sacha 合作,添加了一些有关浏览器兼容性问题的新问题。这对我们在 2022 年 Interop 大会的规划过程中非常有帮助。

从 2021 年兼容性大会中获得了哪些收获或反馈?

Robert:衡量各个浏览器引擎的表现并获得评分和数据洞见非常有用,这样我们就可以跟踪进度,确保讨论和解决不明确或需要优先解决的问题。我们很快意识到,“Interop”是该计划的更合适名称。兼容性互操作性这两个术语通常由浏览器供应商区分,其中兼容性是指网站兼容性,而互操作性是指两个或更多浏览器的行为方式相同。按照该术语,这项工作与互操作性有关,因此该项目也采用了相应的命名方式。

我们的愿景是什么?

Robert:为了保持网络的开放性,浏览器和渲染引擎的多样性至关重要。遗憾的是,这目前给我们的开发者带来了沉重负担,他们必须跟上各个引擎对功能的不同支持级别。我们的愿景是,让开发者将 Web 平台视为最可行且最具吸引力的选择,以便他们专注于打造尽可能出色的体验,而不是花费大量时间解决互操作性问题。显而易见,为了实现这一目标,我们需要在所有主要浏览器引擎中提供最常被要求的功能,以便真正帮助开发者在 Web 平台上取得成功。

当目标(有时)不同的浏览器联合起来时,我们如何共同推动事情向前发展?

Philip:我们的做法是寻找共同感兴趣的领域,以便找到目标大致一致的双赢合作伙伴。通过同时优先处理数量有限的工作,我们可以将精力集中在这些方面,进而更快地取得更高质量的成果,而不是单独处理各项工作。就是这样。

我认为,我们必须认识到,这种基于共识的方法有其局限性。如果目标不够一致,我们就需要通过其他方式推进工作。有时,提供更多 Web 开发者或用户需求的证据可能会有所帮助,但最终,浏览器供应商可以发布未达成广泛共识的内容。在理想情况下,Web 开发者会试用该功能,发现该功能可以满足他们的需求,并要求在所有浏览器中提供该功能,从而证明该功能的价值。

我们再回到 Interop 2022 的话题,我们是否会在某个时候看到非设计或布局功能进入流水线?

Philip:没错!Interop 2022 不仅限于样式和布局功能,但最终还是非常偏向 CSS。这在一定程度上是因为《CSS 状态报告 2021》刚刚发布,但也因为 Web 开发者告诉我们,浏览器之间的差异最让他们头疼的就是这一点。除了 CSS 之外,我们还在以下多个重点领域开展工作,例如表单和对话框元素。此外,我们还在围绕编辑 API 以及指针和鼠标事件开展一些调查工作。我希望在 2023 年 Interop 大会上,我们能获得更多有关 Web 开发者需求的新数据,并在努力中纳入更多此类功能。

即将发生的重大变化

此系列文章的目的之一是让开发者提前了解即将发生的重要变化,这些变化对于提升用户体验和平台功能至关重要。

下面的时间表是我们预计这些更改生效的时间。不过,功能的发布版本可能会发生变化。

用户代理缩减

User-Agent 标头及其关联的 JS 接口不仅会传输有用的浏览器和设备信息,还会携带旧版谱系和不准确的信息。与 UA 字符串解析 bug 几乎无休止地出现相比,更严重的问题是,对于所有导航和子资源请求,UA 字符串都会被动发送到服务器。这表示大约 10 位熵,服务器可在用户浏览网页时使用这些熵来构建稳定的跟踪标识符。

我们目前的计划是,继续提供低熵浏览器主要版本、平台名称和移动设备信息,冻结高熵信息,从而缩减现有 UA 字符串。对于需要比标头中包含的信息更多的信息的用例,我们从 Chrome 89 开始就一直在提供 User-Agent Client Hints API。

我们进行了为期 6 个月的源代码试用,以进行实验并收集反馈,很高兴地发现,尽管参与者超过 200 人,但我们未收到任何与代码中断相关的反馈。

Local Fonts Access API

Chrome 即将推出 Local Font Access API。虽然网站早已能够使用本地字体,但此 API 会枚举本地字体列表,并提供对字体数据本身的访问权限。借助此功能,用户可以将所有字体用于基于 Web 的设计和其他应用。

本地字体长期以来被视为一种指纹化矢量。虽然这个新 API 不会提高使用字体进行指纹识别的功能,但 Chrome 要求用户先向网站授予新的 "local-fonts" 权限,然后该网站才能使用新的 Local Font Access API。

未来,我们计划要求在使用任何其他可访问本地字体的 API 之前,先授予相同的“local-fonts”权限。

  • 时间表:以 Chrome 103(2022 年 6 月)为目标平台
  • 号召性用语详细了解该 API 以及如何使用该 API 来开始实现。

使 BFCache 与 Cache-control: no-store 搭配使用

我们发现了一个重大优化机会,可以提高往返缓存实现即时返回/前进导航的频率。这需要更改 BFCache 在包含 Cache-control: no-store HTTP 标头的网页上的行为方式。我们提出了一项公开提案,旨在通过监控各种信号(例如,每当仅限 HTTP 的 Cookie 发生变化时从 BFCache 中驱逐页面)以及针对特定情境的例外情况(例如,面向企业/教育客户的群组政策)来防止出现重大意外。这是一个复杂但令人兴奋的机会,我们非常期待您进一步审核并提供反馈!

  • 时间表:以 Chrome 104(2022 年 7 月)为目标版本,假设没有重大意外。
  • 号召性用语:如需了解详情,包括如何启用正在进行的实施,以及分享反馈的方式(例如,我们的方法会在哪些实际场景中造成新的障碍),请参阅提案

通过这一系列文章,我希望能让开发者社区更了解我的团队及其工作,从而让他们能够专注于自己的工作,并与我们建立联系。敬请关注此处,了解后续动态。

祝您使用愉快!

您对《Chrome 开发者内幕》第一版有何看法?分享您的反馈