🕸️ 第八章 Web系统的开发原则
📄 一句话概括

React 使用率 83.6%、Angular 47.9%、Vue 52.4%,而满意度最高的是 Svelte(92%);选框架看的从来不是【哪个最好】,而是【哪个有人能维护】。

📝 本节和前面几节的关系

8-3 说清了代码该怎么组织,这一节讲【谁来替你组织】——框架。教材 8-4 举了三个代表:React、Vue.js、Angular。这三个的排序在这些年被谈得很多,但公开数据给出的结论,和一般印象不太一样。

一、框架到底替你做了什么

先分清三个容易混的词:

所以判断一个东西是库还是框架,只要问一句:谁在调用谁?

前端框架主要解决三件事:数据变了界面怎么跟着变、页面怎么拆成组件、 多个页面之间的跳转怎么管。这三件事手写都能做,但会很难维护。

二、三个框架:先看使用率

State of JavaScript 2025 收集了 13002 位开发者的回答, 分成使用率、满意度、岗位数三个维度看,结论会清楚很多。

使用率——有多少人真的用过:

React 的领先不是技术上的,而是生态上的: 状态管理、表单、表格、测试、动画——几乎每个类别都有 React 优先的成熟方案, 其他框架的对应方案通常晚半年到一年才出现。这就是它真正的护城河。

三、再看满意度:第一名的位置会换人

满意度——用过的人觉得好不好:

满意度第一不等于用得多,原因是三条很现实的东西: 已有代码库、团队技能、招人池。 换框架的成本从来不在学习上,在于把已经跑着的系统搬过去。

还有一个反直觉的数字:受访者平均只用过 2.6 个前端框架。 所谓【每个月换一个框架】的印象,和真实数据并不相符—— 这个行业比看起来稳定得多。

四、最后看岗位:决定权往往不在这里

岗位数(LinkedIn 美国,2026 年 3 月):

把三张表叠在一起,会得到一个很清楚的画面: 满意度最高的(Svelte)岗位最少,用量最大的(React)抱怨最多。

所以框架选型该问的不是【哪个最好】,而是:谁来维护它、出了问题找谁。 对个人学习来说,答案更简单:先学一个生态最厚的,再学一个满意度最高的,就够用了。

五、动手 Demo:把满意度与岗位数的反差算出来

把岗位数放在一起比一下,反差会非常直观:

jobs = {"React": 85000, "Next.js": 40000, "Angular": 25000,
        "Vue": 12000, "Svelte": 1800}
print("  Svelte 岗位只占 React 的 %.1f%%" % (jobs["Svelte"] / jobs["React"] * 100))
print("  React 岗位占前五名合计的 %.1f%%" % (jobs["React"] / sum(jobs.values()) * 100))

实跑输出:

--------------------------------------------------------------------
三个前端框架,数字比印象可靠
--------------------------------------------------------------------
  State of JavaScript 2025 收集了 13002 位开发者的回答,
  使用率、满意度和岗位数,这三个指标要分开看。

  先说使用率——有多少人真的用过:

  框架        使用率     说明
  ------------------------------------------------
  React       83.6%      第一,位置基本无人撼动
  Vue.js      52.4%      第二,中文社区尤其活跃
  Angular     47.9%      第三,企业项目里比例更高
  Svelte      27.3%      小但忠诚
  Preact      15.2%      体积小,常嵌在别处
  ------------------------------------------------
  再说满意度——用过的人觉得好不好(满分 100%):

  框架        满意度     说明
  --------------------------------------------
  Svelte      92%        连续多年第一
  Solid       89%        连续五年最高满意度
  React       83%        用量第一,抱怨也最多
  Vue.js      79%
  Angular     71%        学习曲线是主要槽点
  --------------------------------------------
  最后是求职市场(LinkedIn 美国,2026 年 3 月的岗位数):

  关键词      岗位数     说明
  ------------------------------------------------
  React       85000      生态与岗位池深度是护城河
  Next.js     40000      React 之上的全栈框架
  Angular     25000      企业端需求稳定
  Vue         12000
  Svelte      1800       满意度最高,岗位最少
  ------------------------------------------------
  三张表放一起就能看出一个反直觉的事实:
  满意度最高的(Svelte)岗位最少,用量最大的(React)抱怨最多。
  选框架看的从来不是【哪个最好】,而是【哪个有人能维护】。

  还有一个横向趋势比框架之争更重要:TypeScript 正在吃掉 JavaScript。
  只写 TypeScript 的受访者比例:2022 年 28% → 2024 年 34% → 2025 年 40%;
  只写纯 JavaScript 的只剩 6%。
  受访者平均只用过 2.6 个前端框架——【每月换一个框架】是个传说。

两个百分比都在说明同一件事:生态集中度极高。 而 Svelte 的满意度是 92%、React 是 83%——满意度第一,岗位只有 2.1%。 技术上的优势,要过很久才会变成市场上的优势。

30 秒实验

  1. 打开任意一个网站,F12 里搜 data-reactroot 或 __vue__,看它用的是哪个框架。
  2. 在招聘网站上搜三个框架的名字,看岗位数和你所在城市的分布。
  3. 把【库】和【框架】各举一个例子——判断标准只有一个:谁调用谁。

常见误区

  1. 错误:React 是库不是框架。——纠正:React 官方自称库,但它加上路由和状态管理之后就是一套完整框架;实际项目里两者界线并不重要。
  2. 错误:满意度最高的框架就该优先选。——纠正:满意度管的是开发体验,选型还要看岗位、生态和已有的代码库;Svelte 满意度 92%,岗位只有 React 的 2.1%。
  3. 错误:前端框架每年换一个,学了会过时。——纠正:受访者平均只用过 2.6 个框架,而且 React 的位置已稳定多年;变得快的是工具链,不是底层思路。
自测三问(点开对答案) 1. 怎么一眼判断一个东西是库还是框架? —— **看谁调用谁**:你调用它就是库,它调用你就是框架。 2. 为什么 React 领先? —— **不是技术优势,是生态优势**——每个功能类别都有 React 优先的成熟方案,招聘池也最大(约 85000 个岗位)。 3. 满意度第一的是哪个框架?这说明了什么? —— **Svelte,92%。** 它说明**开发体验好不等于被广泛采用**;换框架的真正成本是把已有系统搬过去。

相关笔记