编程 为什么把前端当后端做会失败

2026-09-07 12:13:56

为什么把前端当后端做会失败

"每个人都能瞎搞出个样子,但不是人人都能掌握这门手艺。"一位承包商看着技术上正确但审美欠佳的阁楼窗说。作者说,在自己的行业里,没有哪个专业比前端开发更让她想起这句话:任何人都能拼出 HTML 和 CSS,尤其是现在有这么多快速搭建 UI 的框架。但很多前端以我们仅凭视觉判断时察觉不到的方式失败。这篇来自 Marijke Luttekes 的博客文章(Lobsters 技术社区精选)从哲学层面拆解了前端与后端的根本差异。

前端与后端的哲学差异

后端代码在某种意义上很简单(但不轻松):一大串是/否问题,引导程序沿逻辑路径走。它主要依赖逻辑。前端则流动得多,充满"看情况",一开始甚至不一定符合逻辑。后端负责收集原始数据并确保正确存储;前端要把数据以非技术用户能消费的方式展示出来。

一个页面不仅要好看,还要促进人的信息处理、让用户在他预期的地方找到想找的东西。于是你突然要考虑用户体验、心理学、语言处理、数据展示优先级、可访问性、文化差异、一系列设备……HTML 是给纯文本加语义上下文的工具,做对了,用户、搜索引擎爬虫(还有 AI 机器人)都能更好理解每块信息代表什么;CSS 不改变内容的信息,但决定信息放在读者能找到的地方、以可读的方式呈现;JavaScript 增加交互性——做对了让用户更快更易用,做错了能毁掉整个体验。

一句话总结:后端是逻辑的、简单但不容易、技术性的;前端涉及心理学、涉及对人类如何与数据交互的理解、通常是非技术性的。即使信息本身无可挑剔,前端也能成就或毁掉用户与之交互的能力。

另一个关键差异:用户体验是情境化的

你可能想:"明白了,我只需要写好 HTML 和 CSS。"这正是 UI 最大绊脚石所在:UX 是情境化的——对一个网站有效的东西对另一个可能完全无效。

根据信息在当前情境下的重要性,同一句话可以在不同网站上以完全不同的方式呈现:不仅可能用不同 HTML 元素表达相似数据,还可能选择不同标签、甚至完全不标注。博客要强调文章标题,营销站上它们可能只是侧边内容、重点在独特卖点上;想让访客填表单,就加大标题、让表单获得键盘焦点、引导用户过去;而联系方式页面已经展示了电话和邮箱,可能根本不需要把表单突出出来。

可访问性暴露关键缺陷

可访问性和包容性设计才是真正体现质量的地方。一个"看起来不错"的网站可能只在开发者自己的设备上工作、用鼠标可用、让管理层满意。但外表极具欺骗性:CSS 和 JS 可能在旧浏览器失效;图片文件过大导致移动端加载慢;数据标注错误或缺失,让依赖良好 HTML 的工具(屏幕阅读器、爬虫、浏览器扩展)难以解读;网站无法用键盘或语音导航;用户放大页面时界面不能随文字缩放;颜色对比度过低或过高;用户请求低动画界面时仍大量使用动画(可能诱发晕动症)。

例一:标题与标注。HTML 标题是成败攸关的元素——它们是页面上的地标,任何用户(视障与否)都会自然向其流动。标题构成"文档大纲",如同书的目录,必须存在、正确、唯一、顺序正确,页面才可导航。但过度标注同样有害:屏幕阅读器用户可能用地标导航或标签找路,过多标注会消耗他们的时间、增加认知负担——"想象你访问的每个网站都有食谱页那样的信息过载"。

例二:键盘焦点。并非所有人用鼠标或触控板导航,有些只用键盘。鼠标焦点和键盘焦点是两回事——你点击一个链接,键盘可能停在完全不同的地方。典型翻车场景:表单行内有删除按钮,用户 Tab 到删除按钮按下,行消失,包括键盘焦点所在的按钮,而开发者没有写代码把焦点移到下一行输入框,焦点就落进虚空。

例三:媒体替代文本。图片缺替代文本、视频缺字幕或隐藏式字幕是经典可访问性失败。Alt 文本不只是视觉描述,要描述当前情境下最重要的内容——这也是为什么(AI 生成的)alt 文本可能既非常详细又毫无用处。字幕提供翻译、隐藏式字幕提供完整对话和声音描述;视频下方放文字稿是另一种消费方式。替代文本不仅为可访问性:也服务爬虫,以及无法加载媒体文件的场景。

结尾

后端逻辑是写给计算机和同行程序员看的,通常可以用流程图概括,而且往往只有一条显而易见的正确路径。前端代码是写给人的——这些人通常不像开发者那样技术化,可能没有最新机器,可能有团队里没人亲历过的残障。UX & UI 有专门的教育方向不是没道理的:它不只是"写代码"。

所以下次有人告诉你前端很容易,请保留意见。只用视觉判断网站的陷阱,会毁掉质量、可用性,对某些人来说还有访问关键信息的途径。

来源:Why frontends fail when you approach them like a backend - Marijke Luttekes

复制全文 生成海报 前端 可访问性 用户体验 HTML

推荐文章

程序员茄子在线接单