W#14 Syntax:网络平台还缺什么?

#14 Syntax:网络平台还缺什么?

Web 爱听·2026 年 2 月 10 日·56 分钟
创作者写的节目说明

节目信息

Syntax | 整理时间:2026年2月10日

本期主题:网络平台还缺什么? (What’s Missing From the Web Platform?)
主持人:Wes Bos & Scott Tolinski


节目简介

本期节目中,Wes 和 Scott 聊了他们对 Web 平台的愿望清单。从可定制的原生 UI 组件(如下拉选择框、日期选择器、标签页),到 JavaScript 语言新特性(如管道操作符、类型注解),再到浏览器端 AI 访问、蓝牙 NFC 等底层 API。Scott 更是自嘲进入”理想主义模式”,畅想了各种大胆的原生功能。


核心话题讨论

话题 1:更好的原生 UI 组件

Wes: 我们拥有 select 选择器、单选按钮、复选框以及日期选择器等原生控件,但通常人们并不会使用这些原生控件。除了输入类型为文本和电子邮件的字段外,其他原生表单控件基本都难以使用。

Scott: 我只有在偷懒时才会使用原生日期选择器。它不如基于 JavaScript 的日期选择器功能强大。在我看来,那里存在巨大的改进空间,不仅可以提升功能,还能实现样式自定义。

Wes: 现在有了可自定义的 select 元素,你可以完全掌控所有 CSS 样式以及外观表现,同时无需牺牲可访问性与键盘操作等便利性。这几乎相当于进入无头 UI 的范畴。

💡 要点: 网络平台正在推进”可样式化”的原生组件,让开发者既能享受原生功能的便利,又能拥有完全的样式控制权。


话题 2:标签页和文件上传

Scott: 标签页可以说是有史以来最常见、最普遍的用户界面元素之一。我们为什么还没有一个原生的标签页 HTML 系统呢?我们已经有了折叠面板 details,但标签页早就该有了。

Wes: 另一个重要功能是文件上传,至少能够进行样式定制。如果是图片,你希望能够预览。但很多时候我必须使用文件读取 API,将文件读取为二进制 blob,然后绘制到画布上。

💡 要点: 常见 UI 元素如标签页、文件上传控件、切换按钮等,至今缺少原生实现,开发者不得不依赖第三方库。


话题 3:拖拽功能的复杂性

Wes: 如果你从列表中拖动一个项目,是否应该立即将其移除?放下之后会发生什么,会创建一个副本吗?这里面的内容如此丰富,我认为这正是需要借助库来处理的情况。

Scott: 我觉得会有很多人会说,这不可行。我必须承认,这些想法完全是理想化的,没有考虑边界情况,也没有考虑现实情况。我完全沉浸于我的理想主义状态中。

💡 思考: 原生拖拽 API 虽然存在,但实现复杂交互场景时仍显不足,边界情况处理需要大量额外工作。


话题 4:JavaScript 语言特性 – TypeScript

Scott: 我觉得我们已经远远超越了 TypeScript 还是疑问的阶段。我几乎记不清上一次写非 TypeScript 代码是什么时候了。已经很久没有编写过 JavaScript 文件了,这真是令人难以不可思议。

Wes: 让 TypeScript 在浏览器中运行对我来说并不是什么太大的负担。也许真正需要的是,当我在 Chrome DevTools 中偶尔粘贴 TypeScript 代码时,它能自动帮我把类型信息去除。

💡 要点: TypeScript 已成为主流,开发者期待更好的浏览器级支持。


话题 5:管道操作符 (Pipe Operator)

Wes: 管道操作符会非常方便,可以轻松地运行一个函数,将该函数的输出立即传递给下一个函数。现在你必须将这些函数进行包裹,最终形成一个类似洋葱般层层嵌套的函数结构,如果想要了解它的具体功能,就需要从最内层开始逐步向外追溯。

💡 要点: 管道操作符可以简化函数嵌套,让代码更易读。该提案已存在多年,但仍在第二阶段。


话题 6:浏览器端 AI 访问

Wes: 我的设想是,最终我们将达到一个阶段,您可根据需要使用计算机本地的 AI 模型,或者在浏览器中调用外部 API。当你能在所有事物上运行推理时,如果速度极快,返回时间不再需要四五百毫秒,会怎样?

Scott: 2026年仍然对人工智能编程无用或不佳嗤之以鼻的人,实在令人难以理解。你必须更新你的思维模式,因为环境已经改变,一切都在变化。

💡 要点: 浏览器端 AI 正在发展,Chrome 已提供本地 AI 模型测试,未来将实现更快速、私密的 AI 体验。


话题 7:底层连接 API

Wes: 确实存在蓝牙 API 和网页串行 API,它们允许你通过蓝牙或 USB 直接进行通信。当你用 JavaScript 驱动机器人、飞行无人机时,这些都是通过套接字从计算机向无线设备发送通信的。

Wes: NFC 和 RFID 在浏览器中将非常出色,特别是当你正在开发渐进式 Web 应用时。

💡 要点: 蓝牙、串口、NFC、RFID 等 API 已部分实现,但 Safari 拒绝支持,Firefox 尚未实现,跨浏览器兼容性仍是问题。


话题 8:CSS 改进愿望

Wes: 能够以每秒像素为单位来定义过渡动画的速率,而不仅仅是持续时间。这样如果你希望所有动画都具有相同的感受,在半途取消过渡效果时,能够获得物理层面的响应。

Scott: CSS 已经存在一百年了,积累了大量历史包袱,存在许多奇怪的特性。如果你有版本控制或严格模式之类的机制,我并不介意打破一些东西,去掉一些不必要的复杂特性,使其更加简洁。

💡 要点: 开发者希望 CSS 有”严格模式”来打破历史包袱,以及更精细的动画控制。


📚 技术术语

  • Open UI: W3C 社区组,专注于研究用户界面元素及其可能的实现方式
  • 无头 UI (Headless UI): 一种设计模式,浏览器提供功能,开发者负责提供样式和渲染
  • 管道操作符 (Pipe Operator): JavaScript 提案,用于简化函数嵌套,写法如 input |> func1 |> func2
  • Content Visibility: CSS 属性,用于控制元素是否渲染其内容,优化性能
  • Loudnorm: 音频标准化滤镜,用于统一音量到 -14 LUFS 播客标准

💬 金句摘录

“我觉得不应该添加任何无法被样式化的内容。” —— Scott

“如果你正在为浏览器创建任何新的原生组件,那么你必须能够完全控制它。” —— Wes

“我几乎记不清上一次写非 TypeScript 代码是什么时候了。” —— Scott

“2026年仍然对人工智能编程嗤之以鼻的人,实在令人难以理解。” —— Scott

“我太过于倾向那个方向了,完全就是已经走得太远了。” —— Scott (自嘲理想主义模式)


🤔 思考与启发

本期节目展现了 Web 平台演进中的几个思考:

  1. 标准化 vs 创新: Web 平台需要在标准化和创新之间找到平衡。原生组件的便利性 vs 第三方库的灵活性,始终是一个权衡问题。
  2. 浏览器兼容性挑战: 即便是很好的 API(如蓝牙、NFC),由于 Safari 和 Firefox 的支持度问题,开发者仍无法广泛使用。单一浏览器引擎(如 Chromium)主导会带来效率,但也会损害生态多样性。
  3. 历史包袱: CSS 和 JavaScript 都有二三十年的历史,向后兼容性要求使得很多”不合理”的设计必须保留。开发者呼吁”严格模式”来打破这些包袱。
  4. AI 的浏览器化: 本地 AI 模型正在进入浏览器,这将改变我们对 Web 应用的想象。从隐私保护到响应速度,浏览器端 AI 将开启新的可能性。

延伸思考: 如果让你给 Web 平台添加一个功能,你最想要什么?这个功能为什么重要?实现它的最大障碍是什么?

Web 爱听 · 更多单集

看全部 37 期 →

Web 爱听

W#14 Syntax:网络平台还缺什么?

Web 爱听 · 2 月 10 日 · 56 分钟

#14 Syntax:网络平台还缺什么?

创作者写的节目说明

节目信息

Syntax | 整理时间:2026年2月10日

本期主题:网络平台还缺什么? (What’s Missing From the Web Platform?)
主持人:Wes Bos & Scott Tolinski


节目简介

本期节目中,Wes 和 Scott 聊了他们对 Web 平台的愿望清单。从可定制的原生 UI 组件(如下拉选择框、日期选择器、标签页),到 JavaScript 语言新特性(如管道操作符、类型注解),再到浏览器端 AI 访问、蓝牙 NFC 等底层 API。Scott 更是自嘲进入”理想主义模式”,畅想了各种大胆的原生功能。


核心话题讨论

话题 1:更好的原生 UI 组件

Wes: 我们拥有 select 选择器、单选按钮、复选框以及日期选择器等原生控件,但通常人们并不会使用这些原生控件。除了输入类型为文本和电子邮件的字段外,其他原生表单控件基本都难以使用。

Scott: 我只有在偷懒时才会使用原生日期选择器。它不如基于 JavaScript 的日期选择器功能强大。在我看来,那里存在巨大的改进空间,不仅可以提升功能,还能实现样式自定义。

Wes: 现在有了可自定义的 select 元素,你可以完全掌控所有 CSS 样式以及外观表现,同时无需牺牲可访问性与键盘操作等便利性。这几乎相当于进入无头 UI 的范畴。

💡 要点: 网络平台正在推进”可样式化”的原生组件,让开发者既能享受原生功能的便利,又能拥有完全的样式控制权。


话题 2:标签页和文件上传

Scott: 标签页可以说是有史以来最常见、最普遍的用户界面元素之一。我们为什么还没有一个原生的标签页 HTML 系统呢?我们已经有了折叠面板 details,但标签页早就该有了。

Wes: 另一个重要功能是文件上传,至少能够进行样式定制。如果是图片,你希望能够预览。但很多时候我必须使用文件读取 API,将文件读取为二进制 blob,然后绘制到画布上。

💡 要点: 常见 UI 元素如标签页、文件上传控件、切换按钮等,至今缺少原生实现,开发者不得不依赖第三方库。


话题 3:拖拽功能的复杂性

Wes: 如果你从列表中拖动一个项目,是否应该立即将其移除?放下之后会发生什么,会创建一个副本吗?这里面的内容如此丰富,我认为这正是需要借助库来处理的情况。

Scott: 我觉得会有很多人会说,这不可行。我必须承认,这些想法完全是理想化的,没有考虑边界情况,也没有考虑现实情况。我完全沉浸于我的理想主义状态中。

💡 思考: 原生拖拽 API 虽然存在,但实现复杂交互场景时仍显不足,边界情况处理需要大量额外工作。


话题 4:JavaScript 语言特性 – TypeScript

Scott: 我觉得我们已经远远超越了 TypeScript 还是疑问的阶段。我几乎记不清上一次写非 TypeScript 代码是什么时候了。已经很久没有编写过 JavaScript 文件了,这真是令人难以不可思议。

Wes: 让 TypeScript 在浏览器中运行对我来说并不是什么太大的负担。也许真正需要的是,当我在 Chrome DevTools 中偶尔粘贴 TypeScript 代码时,它能自动帮我把类型信息去除。

💡 要点: TypeScript 已成为主流,开发者期待更好的浏览器级支持。


话题 5:管道操作符 (Pipe Operator)

Wes: 管道操作符会非常方便,可以轻松地运行一个函数,将该函数的输出立即传递给下一个函数。现在你必须将这些函数进行包裹,最终形成一个类似洋葱般层层嵌套的函数结构,如果想要了解它的具体功能,就需要从最内层开始逐步向外追溯。

💡 要点: 管道操作符可以简化函数嵌套,让代码更易读。该提案已存在多年,但仍在第二阶段。


话题 6:浏览器端 AI 访问

Wes: 我的设想是,最终我们将达到一个阶段,您可根据需要使用计算机本地的 AI 模型,或者在浏览器中调用外部 API。当你能在所有事物上运行推理时,如果速度极快,返回时间不再需要四五百毫秒,会怎样?

Scott: 2026年仍然对人工智能编程无用或不佳嗤之以鼻的人,实在令人难以理解。你必须更新你的思维模式,因为环境已经改变,一切都在变化。

💡 要点: 浏览器端 AI 正在发展,Chrome 已提供本地 AI 模型测试,未来将实现更快速、私密的 AI 体验。


话题 7:底层连接 API

Wes: 确实存在蓝牙 API 和网页串行 API,它们允许你通过蓝牙或 USB 直接进行通信。当你用 JavaScript 驱动机器人、飞行无人机时,这些都是通过套接字从计算机向无线设备发送通信的。

Wes: NFC 和 RFID 在浏览器中将非常出色,特别是当你正在开发渐进式 Web 应用时。

💡 要点: 蓝牙、串口、NFC、RFID 等 API 已部分实现,但 Safari 拒绝支持,Firefox 尚未实现,跨浏览器兼容性仍是问题。


话题 8:CSS 改进愿望

Wes: 能够以每秒像素为单位来定义过渡动画的速率,而不仅仅是持续时间。这样如果你希望所有动画都具有相同的感受,在半途取消过渡效果时,能够获得物理层面的响应。

Scott: CSS 已经存在一百年了,积累了大量历史包袱,存在许多奇怪的特性。如果你有版本控制或严格模式之类的机制,我并不介意打破一些东西,去掉一些不必要的复杂特性,使其更加简洁。

💡 要点: 开发者希望 CSS 有”严格模式”来打破历史包袱,以及更精细的动画控制。


📚 技术术语

  • Open UI: W3C 社区组,专注于研究用户界面元素及其可能的实现方式
  • 无头 UI (Headless UI): 一种设计模式,浏览器提供功能,开发者负责提供样式和渲染
  • 管道操作符 (Pipe Operator): JavaScript 提案,用于简化函数嵌套,写法如 input |> func1 |> func2
  • Content Visibility: CSS 属性,用于控制元素是否渲染其内容,优化性能
  • Loudnorm: 音频标准化滤镜,用于统一音量到 -14 LUFS 播客标准

💬 金句摘录

“我觉得不应该添加任何无法被样式化的内容。” —— Scott

“如果你正在为浏览器创建任何新的原生组件,那么你必须能够完全控制它。” —— Wes

“我几乎记不清上一次写非 TypeScript 代码是什么时候了。” —— Scott

“2026年仍然对人工智能编程嗤之以鼻的人,实在令人难以理解。” —— Scott

“我太过于倾向那个方向了,完全就是已经走得太远了。” —— Scott (自嘲理想主义模式)


🤔 思考与启发

本期节目展现了 Web 平台演进中的几个思考:

  1. 标准化 vs 创新: Web 平台需要在标准化和创新之间找到平衡。原生组件的便利性 vs 第三方库的灵活性,始终是一个权衡问题。
  2. 浏览器兼容性挑战: 即便是很好的 API(如蓝牙、NFC),由于 Safari 和 Firefox 的支持度问题,开发者仍无法广泛使用。单一浏览器引擎(如 Chromium)主导会带来效率,但也会损害生态多样性。
  3. 历史包袱: CSS 和 JavaScript 都有二三十年的历史,向后兼容性要求使得很多”不合理”的设计必须保留。开发者呼吁”严格模式”来打破这些包袱。
  4. AI 的浏览器化: 本地 AI 模型正在进入浏览器,这将改变我们对 Web 应用的想象。从隐私保护到响应速度,浏览器端 AI 将开启新的可能性。

延伸思考: 如果让你给 Web 平台添加一个功能,你最想要什么?这个功能为什么重要?实现它的最大障碍是什么?

WWeb 爱听

Web 爱听

面向Web开发者的技术播客,聚焦前端开发前沿、工具链演进与AI对开发的影响,兼顾职场成长。

已收录 37 期 · 最近更新 3 月 26 日

在哪里听

https://proxy.wavpub.com/iting-webworker.xml复制

内容版权归创作者,声湃按创作者开放的 RSS 收录。了解收录与 RSS →

更多单集 全部 37 期 →