开发者经常告诉我们,要跟上网络的变化并不容易,也很难理解为什么会发生这些变化。今天,我们将推出一个名为 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 Nyman 和 Philip Jägenstedt 共同探讨了这项工作,希望了解他们的背后故事。下面由编辑精心整理,将两者合二为一。
这项计划的初衷是什么?
Robert:这一切都始于 2019 年,当时我们开展了 2019 年 MDNA 问卷调查。兼容性问题显然是开发者为 Web 构建应用时面临的主要问题,因此我们在 2020 年 MDN 浏览器兼容性报告中对此进行了更详细的介绍。这为我们提供了足够的信息和可作为行动依据的数据,帮助我们开始开展 Compat 2021 工作,继而继续开展这项工作,并且通过 Interop 2022 扩展工作范围。
Philip:我还想谈谈 web-platform-tests 和 2021 年 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 名参与者,但我们非常高兴没有收到与中断相关的反馈。
- 时间表:在 Chrome 101 中,我们将向前推进第 4 阶段:将 UA 字符串中的
MINOR.BUILD.PATCH
信息减少到0.0.0
。我们将继续向网站发出预告,并留出时间来为第 5 阶段及后续阶段做好准备。我们还制定了企业政策来拒绝这些变更,并将在 Chrome 113 之前进行弃用试用,让网站有更多时间来为这些变更做好准备。 - 号召性用语:将您的网站迁移至 UA 客户端提示或参与弃用试用。
本地字体访问权限 API
Chrome 即将发布 Local Font Access API。虽然网站长期以来都能使用本地字体,但此 API 会枚举本地字体列表,并提供对字体数据本身的访问权限。通过此功能,用户可以将其所有字体用于基于网络的设计和其他应用。
本地字体一直以来都被称作数字“指纹”矢量。虽然这个新 API 不会提高使用字体进行数字“指纹”收集的能力,但 Chrome 要求用户必须先为网站授予新的 "local-fonts"
权限,然后才能使用新的 Local Font Access API。
未来,我们计划要求必须先授予相同的“本地字体”权限,然后才能使用其他任何提供本地字体访问权限的 API。
将 BFCache 与 Cache-control: no-store
搭配使用
我们发现,这是一个重大机会,可以提高往返缓存提供即时往返导航的频率。这需要更改 BFCache 在带有 Cache-control: no-store HTTP 标头的网页上的行为。我们提出了一项公开提案,旨在通过监控各种信号(例如,每当仅限 HTTP 的 Cookie 发生变化时,将网页从 BFCache 中逐出)和删减(例如适用于企业/教育版客户的群组政策)来防止出现严重意外。这是一个非常复杂但激动人心的机会,欢迎您进行更多审查和反馈!
- 时间表:以 Chrome 104(2022 年 7 月)为目标平台(假设没有重大意外)。
- 号召性用语:请参阅相关提案了解更多详情,包括如何实现正在进行中的实施,以及分享反馈的方法(例如,我们的方法会带来新障碍的实际场景)。
通过这个系列,我希望能拉近开发者社区与我的团队和他们的工作的距离,让他们能获得关注和归属感。敬请关注,敬请关注此空间了解更多动态。
祝你好运,祝你好运。
您对《Chrome Dev Insider》第一版有何看法?欢迎分享您的反馈。