Web 只会因为 Interop 2024 而变得更好
浏览器厂商的 Interop 2024 计划旨在加强跨浏览器一致性,重点放在 CSS 特性上,如 nesting、滚动条、排版和 popover 行为;许多人认为这些对日常 Web 布局和设计是实用的改进。评论者对优先级看法分裂:有人欢迎这些提升易用性的改进,另一些人则认为更具变革性的 Progressive Web App 能力——例如可靠的本地文件访问、存储持久化以及更广泛的 PWA 安装支持——被忽视了,而这通常归咎于 Apple 和 Mozilla 基于安全与隐私对 Google 主导提案的反对。整段讨论凸显了更深层的矛盾:Web 复杂性、标准化政治,以及 Web 应该在多大程度上朝着类似原生应用的能力演进,同时又要如何保留用户隐私和平台控制。
Interop 2024 的重点与选择
- Interop 被视为一种有用的协调方式,但有些人觉得许多被选中的项目(CSS、popover、QoL 修复)其实是浏览器本来就会推出的内容,并不是最棘手的互操作性缺口。
- 也有人反驳说,这些领域(CSS nesting、scroll snap、popover、IndexedDB、无障碍、workers)对日常开发影响广泛,正是许多开发者真正想要的。
- 从流程上看,它被描述为一个小型跨浏览器团队,在各自正常路线图之外对齐他们现实中能做的工作,更像是在协调行为,而不是强行推动新功能。
PWA、能力与浏览器政治
- 几位评论者问为什么没有专门的 PWA 重点领域;回应说与 PWA 相关的部分(IndexedDB、service workers、移动端、modules)其实已经包含在内。
- 围绕缺失或实现不均的 API 展开争论:OPFS、文件系统访问、Trusted Types、URLPattern、JSON modules、import attributes。
- 关于 Apple 动机的分歧非常激烈:有人指责它通过放慢 PWA 能力来保护 App Store;也有人说 Apple 和 Firefox 是出于隐私/安全原因,阻止那些不安全、非标准的 Chrome 提案(WebUSB/WebHID/WebSerial,以及某些 PWA“能力”)。
- 对 Firefox “放弃 PWA 支持”到底意味着什么也存在困惑和争论(是 API,还是可安装的桌面 PWA)。
存储、文件系统与持久化
- 一些人认为 OPFS 和更广泛的文件系统访问 API 对于让 PWA 真正成为原生应用竞争者至关重要(本地文件编辑、无需后端存储)。
- 反方观点:强大的存储 API 可能成为长期追踪向量;存储行为必须与反追踪政策保持一致。
- Safari 对很少访问的网站实行 14 天删除数据,以及非持久化存储的回收,让以离线优先为目标的应用作者非常不满。通过
navigator.storage.persist()实现的“持久化”存储,被批评在实践中过于不透明且不可靠。 - 有人认为 Apple 和 Mozilla 正确地拒绝了 Chrome 的文件系统访问规范,因为它不安全;也有人批评他们没有提出可接受的替代方案。
CSS、UI 与滚动条
- CSS nesting、popover、scroll snap、subgrid、color functions、filters 等广受称赞,因为它们减少了 JavaScript 样板代码,让 Web 更像“原生”。
- 是否纳入滚动条样式支持存在分歧:有人认为这对复杂 UI 至关重要,也是避免用 JS 自己实现滚动条的折中;也有人认为这是一种不必要的设计师驱动定制,会损害可用性和无障碍。
- 更广泛的矛盾在于:原生平台的一致性 vs 跨平台“到处都一样”的 Web 设计;原生工具包的成本和被忽视,被视为推动 Web UI 的原因。
图像、颜色、排版与图标
- JPEG XL 的缺席让支持者失望,他们认为它在技术上优于其他图像格式;支持者则说 AVIF 已有更多采用,已经“足够好”。
- 广色域/P3 色彩支持被指出并不均衡(Firefox 会裁剪到 sRGB)。关于如今高色域显示器究竟有多普遍,也存在争论。
- 有人希望更多 CSS 排版特性(例如 leading/text-box-trim、margin-trim)能优先跨浏览器实现。
- 还有人要求支持 SVG favicon 和更简化的图标处理;Safari 的部分解决方案以及 Apple 特定的图标要求,被认为会给普通开发者增加摩擦。
浏览器模型、测试与缺失领域
- Safari 将引擎更新与操作系统版本绑定(尤其在 iOS 上)受到批评,认为这会让旧硬件卡在过时的功能/漏洞上;支持者则指出 iOS 升级率很高,而且安全补丁会回补。
- 也有人批评 Interop/WPT 指标纳入了非标准的 Chrome API,从而让 Safari/Firefox 显得更差。
- 对缺失或未被充分强调的领域存在担忧:WebGPU、WebAssembly GC/多个内存、WebXR、表单控件、连字符断词质量、Cookie Store API。
- 元讨论中,有人感叹 Web 的复杂性和少数引擎的主导;也有人认为,如今丰富的应用能力和可盈利的软件交付已经是 Web 的事实角色。还提到了 Gemini、Spartan、Scorpion 等替代性的简单协议,作为主流 Web 之外的实验。