隆重推出 Chrome Dev Insider

本·加布莱斯
Ben Galbraith

开发者经常告诉我们,要跟上网络的变化并不容易,也很难理解为什么会发生这些变化。今天,我们将推出一个名为 Chrome Dev Insider 的新系列,我们将分享 (1) 哪些功能最酷且有新闻价值;(2) 我们如何就某个关键主题(例如更改 FLOC)或如何开展与生态系统的合作(例如 Interop 2022)做出决策,以及 (3) 关于用户代理需要了解的一些重要事项

我们分享正在开展的工作,并将着眼于 2022 年的四大优先事项:

  • 打造愉悦的用户体验:以直观方式为用户提供直观的体验,包括性能、事务、身份或转换等。
  • 推动 Web 的功能不断发展:支持 Web 不断发展的作用,从内容消费平台发展成为提供各种体验的平台,包括需要深度操作系统和硬件级集成的平台。
  • 简化 Web 开发:让您更轻松地做出决策,提高开发者的工作效率。
  • 加强网络隐私保护:面对开发者在跟踪和定位方面日益精进的水平,网站用户希望能有更好的数据隐私保护措施。

最新资讯: Interop 2022

在规划路线图时,我们会参考开发者反馈,以了解 Web 开发者的首要痛点和需求等。一个反复出现的关键主题是浏览器兼容性,这让各种浏览器都能提供相同的体验。在过去的一年里,我们一直在与生态系统合作,以解决这一主题,这是我们“简化 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 年 MDNA 问卷调查。兼容性问题显然是开发者为 Web 构建应用时面临的主要问题,因此我们在 2020 年 MDN 浏览器兼容性报告中对此进行了更详细的介绍。这为我们提供了足够的信息和可作为行动依据的数据,帮助我们开始开展 Compat 2021 工作,继而继续开展这项工作,并且通过 Interop 2022 扩展工作范围。

Philip:我还想谈谈 web-platform-tests2021 年 CSS 现状。多年来,我们与其他浏览器供应商紧密合作,共同测试 WPT,现在我们非常希望能够充分利用这项技术。这些功能的测试大多已经编写好,因此我们只需要检查这些测试并添加一些缺失的覆盖率即可。Google 在 wpt.fyi 上投入了大量资金,而 Mozilla 也感谢 Mozilla 对 WPT 的成功。Mozilla 当然在 MDN DNA 调查中也发挥着重要作用。除此之外,我们还提供了《2021 年 CSS 现状》。为了集中开展像 Interop 2022 这样的项目,我们需要关于 Web 开发者需求的最新信息,因此我们与问卷调查维护者 Sacha 合作,添加了一些有关浏览器兼容性问题的新问题。这确实有助于我们完成 Interop 2022 规划流程。

对于 Compat 2021,是否有任何经验教训或反馈?

Robert:衡量每个浏览器引擎的效果并获取相关得分和数据分析非常有用,因此我们可以跟踪进度,确保讨论和解决不明确或需要优先处理的问题。我们还很快意识到,“互操作性”是这项计划的更好名称。“兼容性”和“互操作性”这两个术语通常由浏览器供应商区分,其中兼容性是指网站兼容性,互操作性是指两个或更多个行为相同的浏览器。用该术语来说,我们致力于实现互操作性,因此该项目与此命名一致。

我们的愿景是什么?

Robert:为使 Web 保持开放性,浏览器和渲染引擎的多样性至关重要。不幸的是,目前这对我们的开发者来说代价很高,因为开发者不得不跟上每个引擎上对功能的不同级别的支持。我们的愿景是,开发者将 Web 平台视为最可行和最具吸引力的选择,以满足其需求,并且他们可以专注于打造尽可能出色的体验,而不是花费大量时间来解决互操作性问题。很明显,要实现这一目标,最需要的功能需要登陆所有主流浏览器引擎,才能真正帮助开发者在网络平台上取得成功。

当具有(有时)不同目标的浏览器同时共同进步时,我们如何共同推动工作的进展?

Philip:我们的做法一直是寻找共同兴趣领域,找到目标大致一致的双赢协作。通过优先同时处理有限数量的工作,我们就可以把重点放在这些领域,与单纯地单独开展相比,这样能更快地推进工作并提升质量。就是这样。

我认为,必须认识到,这种基于共识的方法存在局限性,如果目标未充分达成一致,我们需要通过其他方式继续推进。有时,提供更多有关 Web 开发者或用户需求的证据会有所帮助,但最终,浏览器供应商可能会推出那些没有广泛认同的内容。在最理想的情况下,Web 开发者在尝试使用该功能后,会证明该功能可满足其需求,并要求在所有浏览器中使用相同的功能。

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

Philip:当然可以!Interop 2022 不仅限于样式设置和布局功能,但它最终非常依赖于 CSS。部分原因是 CSS 2021 的现状是最新的,但也因为 Web 开发者告诉我们,这是他们在不同浏览器之间的差异方面遇到最多的问题。表单和对话框元素等多个焦点区域不局限于 CSS,我们还围绕修改 API 以及指针和鼠标事件开展了一些调查工作。我希望在 Interop 2023 中,我们将提供更多有关整个网络开发者需求的最新信息,并在工作中添加更多此类功能。

即将发生的重要变更

本系列文章的目的之一是让开发者提前了解即将发生的重要变更,这些变更对于改进用户体验和平台功能来说非常重要。

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

用户代理缩减

User-Agent 标头及其关联的 JS 接口不仅能够传输有用的浏览器和设备信息,还会携带其沿袭和不准确的信息。相较于近乎无穷无尽的 UA 字符串解析错误,更重要的是,它会针对所有导航和子资源请求被被动发送到服务器。该值表示大约 10 位的熵,可供服务器在用户浏览网页时用于构建稳定的跟踪标识符。

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

我们开展了为期 6 个月的源试用以进行实验和收集反馈,尽管有超过 200 名参与者,但我们非常高兴没有收到与中断相关的反馈。

本地字体访问权限 API

Chrome 即将发布 Local Font Access API。虽然网站长期以来都能使用本地字体,但此 API 会枚举本地字体列表,并提供对字体数据本身的访问权限。通过此功能,用户可以将其所有字体用于基于网络的设计和其他应用。

本地字体一直以来都被称作数字“指纹”矢量。虽然这个新 API 不会提高使用字体进行数字“指纹”收集的能力,但 Chrome 要求用户必须先为网站授予新的 "local-fonts" 权限,然后才能使用新的 Local Font Access API。

未来,我们计划要求必须先授予相同的“本地字体”权限,然后才能使用其他任何提供本地字体访问权限的 API。

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

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

我们发现,这是一个重大机会,可以提高往返缓存提供即时往返导航的频率。这需要更改 BFCache 在带有 Cache-control: no-store HTTP 标头的网页上的行为。我们提出了一项公开提案,旨在通过监控各种信号(例如,每当仅限 HTTP 的 Cookie 发生变化时,将网页从 BFCache 中逐出)和删减(例如适用于企业/教育版客户的群组政策)来防止出现严重意外。这是一个非常复杂但激动人心的机会,欢迎您进行更多审查和反馈!

  • 时间表:以 Chrome 104(2022 年 7 月)为目标平台(假设没有重大意外)。
  • 号召性用语:请参阅相关提案了解更多详情,包括如何实现正在进行中的实施,以及分享反馈的方法(例如,我们的方法会带来新障碍的实际场景)。

通过这个系列,我希望能拉近开发者社区与我的团队和他们的工作的距离,让他们能获得关注和归属感。敬请关注,敬请关注此空间了解更多动态。

祝你好运,祝你好运。

您对《Chrome Dev Insider》第一版有何看法?欢迎分享您的反馈