Dr Lea Verou
我们经常期望最耀眼的功能会吸引最多的开发人员兴趣。像 AI 驱动的 API、3D/XR/AR 或设备 API 之类的东西。然而年复一年,脱颖而出的绝不是花哨的东西。几乎……平庸:下拉菜单。组合框。弹出框。对话框。表单验证。加载和保存文件。模板。安全地显示用户生成的内容。图标。
使 API 可用
“但是——其中许多已经存在了!”你可能会反对。它们确实存在——但是当内置 UI 无法定制或设置样式时,它实际上是不可用的。开发人员无论如何都被迫重新创建它。
一旦这枚硬币掉落(一旦意识到这一点),它就解释了大部分调查结果。它解释了为什么 Customizable Select 荣登榜首。为什么像 popovers 和 invokers 这样的低级原语如此受欢迎。为什么 SVG 和 在 canvas 上绘制 HTML 的排名远高于 AR/VR。甚至为什么 扩展内置元素 成为如此主要的 Web 组件痛点。
毕竟:在失去理智之前,你能重建多少次按钮或下拉菜单?你有多大信心你做对了?
结果是,构建专业的交互式 UI 仍然需要拼凑许多第三方解决方案,即使对于专有平台中常规的事情也是如此。
滞后的变化
这一发现并不新鲜。在第一届 HTML 现状中,我们已经看到了样式和定制是多么关键,尤其是在表单方面。今年的深入分析证实了这一点并没有改变——事实上,信号更响亮了。
但事情确实变得更好了!2023 年讨论的功能现在已经在主要浏览器中发布。那时不切实际的其他功能——比如 Popover API——现在得到了普遍支持。
然而,Popover 仍然位居浏览器支持投诉榜首。为什么?虽然实施的速度加快了,但集体认知滞后了。现在开发人员信任支持所需的时间比浏览器发布它的时间还要长!
LLM 的影响
AI 生成代码的兴起是一个促成因素。LLM 对现代 Web 平台功能出奇地精通,并且本可以帮助推动社区向前发展,但在推荐内容方面过于保守。实际上,这甚至可能减缓采用!如何大规模解决这个问题仍然是一个悬而未决的问题。与此同时,明确的浏览器支持说明确实有帮助,谁知道呢,如果有足够多的开发者这样做,问题甚至可能会自行解决。
展望未来
展望未来,前景一片光明。许多突出的痛点正在积极解决中,有些甚至已经发布。即使是以前被认为是死胡同的可扩展内置组件,也通过围绕自定义属性的早期工作看到了潜在的进展。
所有这些原语都指向同一个方向:一个正稳步变得更灵活、更具表现力且更符合开发人员实际构建 UI 方式的 Web 平台。
Web 上的进步很少是戏剧性的,但它是累积的。每一个新原语都减少了对变通方法、库和脆弱黑客手段的需求。当这些基本要素到位时,这种影响将无处不在。