Frontend 并未变得更复杂 — 边界正在变得模糊

发布: (2026年4月16日 GMT+8 01:00)
4 分钟阅读
原文: Dev.to

Source: Dev.to

为什么以前的前端感觉更复杂

  • 多个独立的部分
  • 每一层都有明确的职责
  • 边界容易辨认

现代前端发生了什么变化

  • 系统边界不再清晰。
  • 以前的架构有如下划分:
    • UI 与逻辑
    • 状态 与 渲染
    • 客户端 与 服务器
    • 组件 与 服务

这些划分让大型系统更易于推理。现在这些界限正日益模糊。

组件现在承担多重职责

  • 数据获取
  • 缓存逻辑
  • 业务规则
  • 副作用

UI 不再只是 UI。组件现在是职责的集合,而不仅仅是展示单元。

状态现在影响多个领域

  • 多个组件
  • 外部系统
  • 异步工作流
  • 派生计算

状态不再局限于可预测的边界;一次改变可能在其来源之外产生广泛影响。

分布式逻辑

逻辑分散在:

  • 组件
  • Hook
  • 工具函数
  • 框架抽象

要推断行为现在需要在多个思维层面之间跳转。行为已经没有单一的“归宿”,这并不是因为逻辑更多,而是因为很难确定某件事该放在哪里。这种不确定性增加了认知负担。

开发者花更多时间在思考:

  • 这段逻辑应该放在哪里?
  • 为什么这个行为会在这里出现?
  • 有哪些东西依赖于这次更改?

结构性与语法性混淆

旧系统

  • 组件负责 UI
  • 服务负责逻辑
  • 状态是集中管理的
  • 职责划分明确

现代前端系统

  • 职责交叉重叠
  • 边界灵活多变
  • 所有权共享
  • 行为分散

即使是小功能也感觉更难推理,并不是因为它们本身复杂,而是因为缺乏封装。

边界模糊的后果

  • 调试更困难
  • 重构风险更大
  • 入职速度变慢
  • 心智模型不稳定

开发者难以回答:“这个行为到底属于哪里?”

恢复清晰度

优秀的工程师通过重新引入结构来补偿:

  • 明确定义逻辑的所有权
  • 有意隔离职责
  • 减少跨层依赖
  • 保持可预测的数据流
  • 强化架构一致性

他们不依赖框架来划定边界,而是主动创建边界。

结论

前端变得更难并不是因为代码更多,而是因为围绕职责划清明确界限的难度在增加。没有这些界限,即使是简单的系统也会感觉复杂。

0 浏览
Back to Blog

相关文章

阅读更多 »

使用 cubic‑bezier 提升 CSS 过渡

平面化的 CSS 过渡到底是怎么回事?默认的 ease timing function 能工作,但它很通用。现实中的运动有特性——它会弹跳、超调……