前端教育领域多位知名人士正在淡出或转向,包括Axel Rauschmayer、Salma Alam-Naylor、Josh W. Comeau,以及Kent C. Dodds、Addy Osmani、Rachel Nabors和Lydia Hallie。作者本人虽未靠谈论Web开发谋生,但一直通过博客、会议演讲和播客分享热情所在,例如近期深入讲解CSS性能的方方面面,包括shadow DOM的工作原理、浏览器样式引擎的机制以及CSS-in-JS的陷阱。
正文
前端领域我敬佩的许多教育者要么退出,要么减少投入:Axel Rauschmayer、Salma Alam-Naylor、Josh W. Comeau 等。其他知名人物如 Kent C. Dodds、Addy Osmani、Rachel Nabors 和 Lydia Hallie 已从谈论前端开发转向谈论……你猜。
我从未靠谈论网页开发谋生,但我有这个博客,也做过关于我热衷话题的会议演讲和播客。例如最近,我热衷于解释 CSS 性能的方方面面:shadow DOM 如何工作、浏览器样式引擎如何工作、CSS-in-JS 的陷阱等。
为了好玩,我让 Claude Sonnet 处理一个“样式计算”成本高的 Chrome trace。这是我喜欢的难题,因为即使是经验丰富的开发者也会反复出错。Claude 给出了令人钦佩的回答:
(点击查看 Claude 的回答,内容涉及样式成本的含义、查找的问题如选择器复杂性、失效范围、频率放大、继承属性、Shadow DOM,以及测量步骤和典型修复方法。)
如今,面对加载缓慢的网站,即使我多年来一直写浏览器性能文章,甚至曾在浏览器性能团队工作,我可能也会把 Chrome trace 扔给 Claude Code 让它提建议。事实上,我在日常工作中就这么做过,效果不错。
前端的未来
前端教育的前景不太乐观。核心问题是前端开发本身在这个新时代会走向何方。有几个趋势指向减少对前端知识的投入:
前端交给代理的风险较小。 用代理写数据库迁移,你可能需要多轮 AI 代码审查、自己仔细检查、先在 staging 运行等。但用代理写 React 组件,直接投入生产的风险通常低得多。我不是说零风险:代理可能搞砸无障碍、导致无限循环等。但总的来说,前端代码比其他类型代码更短暂、更易替换。所以许多 AI 编码者会放心让代理无监督处理。
开发者体验整体变得不那么关键。 LLM 之前的讨论很多是关于人体工学与结果。例如 Svelte 和 Solid 长期主张它们的人体工学比 React 带来更好结果:代码更少、性能更好等。与此同时,Cursor 和 Viget 已发文将代码库从 Solid 和 Lit 迁移到 React。既然用代理重写成本更低,为什么不迁移到性能更好/更简洁的框架?答案显然是:“代理懂 React。”React 在训练权重中占比过高,“代理体验”开始比开发者体验更重要。
标准会跟上。 我离开网页标准领域几年了,但猜测改善网站构建人体工学的努力——更好的 CSS 简写、更简洁的 JavaScript 语法等——会变得不那么重要,相对于真正推动性能、能力等的事情。毕竟,对代理来说写 3 行 CSS 和 1 行差别不大,而且使用新语法可能更难,因为要指导代理处理训练权重中没有的东西。
这种转变可能已经开始了。几年前在 TPAC,我告诉 Chrome 团队的人我在做网页组件标准。他们说不感兴趣,因为这些 API 只影响开发者体验,没有让浏览器更强大。这让我印象深刻:像 shadow DOM 和自定义元素这样的 API 没有给开发者新能力,只是改变了代码编写的位置和方式。随着 AI 编码接管,这类东西会淡出焦点。这不意味着标准会从开发者需要关注的话题中消失,但会从“使用这个新语法”转向“这里有这些新兴能力”。后者群体会比前者小得多。
前端教育何去何从?
前端教育如何适应这个敌对的未来?这里有一些积极方向。
首先,代理仍然需要了解大局。代理和工具似乎喜欢写 React 特别是 SPA,但 SPA 不是万能的。你可以浪费大量 token 让代理为营销网站写一个复杂 SPA,然后修复后退按钮、焦点状态、性能等所有 bug,或者直接选择 Astro 或 Eleventy 这样的 MPA 框架。这些框架可能对代理来说更难用,但既然总体代码量少约 50%,这就不重要了。
其次,让网站对代理友好可能是近期富有成效的努力。Vercel 的 is-agentic 是个好例子。讽刺的是,这又回到了公共网站本应做好的基础:服务端渲染内容、适当的无障碍、页面速度等。但如果贴上“AI”标签能让人们关心这些,我完全支持。
我对第二点不太乐观,因为我不确定随着代理普及,网络还能以当前形式存活。如果我想知道从西雅图飞往巴黎的费用,我更愿意问代理,而不是在加载缓慢的网站上点击令人恼火的按钮。我做不到的唯一原因是这些网站明确屏蔽机器人,或者不提供 MCP,但我确信有初创公司在解决这个问题。所以我不确定当前状况能持续多久。
第三,我们可以为 vibe-coded 的怪物提供咨询服务。大量 AI 生成的前端代码正在被产出,其中一些会成为“承重”部分。如果这些网站缓慢、不合规、充满安全漏洞,那么让代理“修复我的网站”可能不够。这里可能存在真正专业知识的机会,特别是涉及金钱,而 vibe coder 的网页开发知识仅限于“网站是托管在互联网上的应用”。
(我承认这是最不稳固的一点,因为我可以想象 2027 或 2028 年新一代“自愈”网页应用会超越普通专家。但就目前而言,专业知识仍然重要。)
结论
这篇文章的目的不是让自己感觉好点,也不是在那些被 AI 热潮颠覆的职业生涯上跳舞。我天生悲观,这篇文章是允许自己沉浸在悲观中。我不乐于看到自己多年积累的知识几乎过时,也不高兴看到同样的事情发生在比我更有资格的同行身上。但假装它没有发生也不是有效策略。
我最近读到的一些博客有“我厌倦了谈论 AI”或“请别再跟我提 AI”的情绪。我确信其中一些是一种厌倦世事的姿态,但很多也来自真正的恐惧。承认你不知道一年后会发生什么是可怕的。想象你的职业生涯沿着某个轨迹平稳到达退休,然后在离目标仅几年时看到一切被打乱,这是不稳定的。
我用的比喻是:一颗小行星刚刚撞击地球,我们还在评估残骸。很难预测尘埃落定后会发生什么,但忽视陨石坑是最糟糕的否认。另一个比喻是新冠:新冠来袭时,我不记得想过“我厌倦了谈论新冠”——相反,我想学习关于病毒、流行病学、口罩的一切。这被证明是个好主意,因为新冠会在接下来几年主导我的生活。
我没有水晶球,但这篇文章是我思考我最珍视的领域未来走向的尝试。我承认我现在投入少了很多:我离开了网页标准,甚至不在当前工作中做前端,我的博客大多是关于 AI 的哀叹,而不是我通常的浏览器、性能、无障碍等话题。尽管如此,我仍然对前端领域充满爱和尊重,关心它的未来。它可能在几年内变得面目全非,但至少,我希望我的同行能找到方法应对这些变化,在这个奇怪的新世界中茁壮成长。
评论
讨论围绕AI对前端开发的影响展开,分歧明显:一方认为前端代码“可替换、风险低”,AI代理足以胜任;另一方则强调前端是用户体验的核心,AI生成的“垃圾代码”会带来严重隐患,甚至导致用户流失。
前端代码风险低,AI代理可以放手去做
- 前端代码比后端更“短暂”和“可替换”,即使出问题也容易修复,因此交给AI代理处理的风险相对较低。(较多人)
- 开发者对后端代码逐行审查,但对前端代码只确保“不犯蠢”,对CSS则完全不管。这种态度本身就说明前端在开发者心中的优先级较低。(高赞,@stickfigure)
- 一个非技术背景的人用DeepSeek就能快速重做公司网站,效果“足够好”,说明前端工作正在被AI大幅简化。(较多人) > 她只需要提供当前网站,告诉AI想要的样子,效果就很好。虽然明显是AI生成的,但能快速得到结果,还能通过对话微调。(@comrade1234)
前端是用户直接面对的部分,AI生成的“垃圾”会赶走用户
- 前端是用户最常接触的部分,没人关心你的API多优雅或数据库多好。如果AI搞出一个糟糕的前端,用户会直接离开。(高赞,@leptons)
- 一个真实的bug案例:前端缩略图索引错误,导致用户误删了婴儿照片。这证明前端不是“无状态、可一键修复”的玩具,它直接影响用户数据安全。(高赞,@atomicnumber3)
- 工作中有人用Claude生成了连开发者自己都不理解的代码,虽然“能用”,但维护性和正确性堪忧。这种“能跑就行”的态度正在侵蚀代码质量。(较多人) > 我审查了一段代码,显然不是为人类阅读而写的,开发者自己肯定不理解其中90%的逻辑。它看起来像是Claude花了几个小时硬把方钉塞进圆孔,但确实能跑。(@kypro)
AI正在导致技术栈和开发体验的“大均质化”
- React在训练数据中占比过高,导致AI代理更擅长生成React代码,这反过来又强化了React的统治地位,形成“赢家通吃”的局面。(较多人)
- 有公司从Solid和Lit迁移回React,仅仅因为AI代理写React更省token。这种“代理体验”正在压倒“开发者体验”,令人不安。(高赞,@chanux) > 另一个关于代理工具使用的帖子让我觉得,我们正处在一个大均质化的时期。有些人对此感到高兴,但对我来说,这让我有点不安。(@chanux)
有价值的补充
- 有开发者认为,AI时代前端工程师应该转向产品管理或构建“护栏”和工具框架,而不是继续写UI代码。这被视为一次新的职业转型机会,类似当年Flash消亡时前端工程师的转型。(@etoxin)
- 一个反直觉的观点:真正“最容易被自动化”的不是程序员,而是C-Suite和高管,因为他们的工作“最无意义、最易自动化、节省成本最多”。(@thelastgallon)
- 有人指出,AI生成的网站可能在紧急情况下(如飓风后人们需要信息)变得不可用,因为AI倾向于生成复杂、臃肿的页面,而不是简单、可访问的纯文本网站。(@CqtGLRGcukpy)