共计 1850 个字符,预计需要花费 5 分钟才能阅读完成。
大家好,我卡颂。
遐想前几年,不论是 React
还是 Vue
,都在疾速迭代版本,以至于很多同学埋怨 学不动了。
而当初,React
曾经一年没更新稳固 release
了。
甚至有人认为,这就是 前端已死 最间接的证据:
那么,React
最近一年为什么不发版了呢?是因为前端框架畛域曾经没有新活儿可整了么?React v19
是不是遥遥无期了?
欢送围观朋友圈、退出人类高质量前端交换群,带飞
最近一年 React 沉闷吗?
不想看长文章的同学,这里一句话总结本文观点:
React
之所以一年没发版,并不是因为无活可整,而是在实现框架从UI
库到元框架的转型
首先,咱们来看看,最近这一年 React
的更新活跃度是否升高?
从代码 push
量来看,最近一年甚至比 release
产出较多的前几年更沉闷:
既然更沉闷,那 React
这段时间到底在做什么呢?从 代码增删行数 能够一窥端倪,其中:
- 绿色柱状 代表代码减少行数
- 红色柱状 代表代码缩小行数
- 红色折线 代表代码行数总体趋势
从代码量变动来看,React
历史上大体分为四个期间:
- 13 年开源,到 17 年之前的性能迭代期
- 继续到 18 年的重构期(重构
React Fiber
架构) - 18~22 年基于
Fiber
架构的新性能迭代期 - 22 年至今的重构期
性能迭代期 与重构期 的区别在于:
- 前者次要是在稳固的架构上迭代新个性
- 后者个别重构底层架构的同时,重构老个性
激烈的代码量稳定 通常产生在 重构期。比方,在最近的重构期内,PR #25774 删除了 3w 行代码。
这个
PR
次要扭转React
对于同一个子包,同时领有.new
、.old
两个文件的开发模式
最近一年 React 都在干啥?
明确了 React
最近一年处于重构期。那么,到底是重构什么呢?
答案是 —— 将 RSC
(React Server Component
,服务端组件)接入以后React
体系内。
有同学会问:RSC
只是个相似 SSR
的个性,为什么要实现他还波及重构?
这是因为 RSC
不仅是一个个性,更是 React
将来次要的倒退方向,其意义不亚于 Hooks
。所以,围绕RSC
的迭代波及大量代码的重构。比方:
SSR
相干代码须要批改SSR
代码批改导致Suspense
组件代码批改Suspense
的批改又牵扯到useEffect
回调触发机会的变动
能够说是牵一发而动全身了。
RSC 为什么重要
为什么 RSC
对React
这么重要?要答复这个问题,得从开源我的项目的倒退聊起。
开源我的项目要想获得成功,肯定须要满足指标用户(开发者)的需要。
晚期,React
作为前端框架,满足了 UI
开发的需要。在此期间,React
团队的迭代方向次要是:
- 摸索更清晰的开发范式(公布了
Error Boundray
、Suspense
、Hooks
) - 修补代码(公布新的
Context
实现) - 优化开发体验(公布
CRA
) - 底层优化(重构
Fiber
架构)
能够发现,这些迭代内容中大部分(除了底层优化)都是间接面向一般开发者的,所以 React
文档(文档也是面向开发者的)中都有体现,开发者通过文档能直观的感触到 React
一直迭代。
随着前端畛域的倒退,逐步涌现出各种业务开发的最佳实际,比方:
- 状态治理的最佳实际
- 路由的最佳实际
SSR
的最佳实际
一些框架开始整合这些最佳实际(比方Next.js
、Remix
,或者国内的Umijs
…)
到了这一时期,开发者更多是通过应用这些框架间接应用React
。
感触到这一变动后,React
团队的倒退方向逐步变动 —— 从 面向开发者 的前端框架变为 面向下层框架 的元框架。
倒退方向变动最显著的体现是 —— 文档中新出的个性一般开发者很少会用到,比方:
useTransition
useId
useMutableSource
这些个性都是作为元框架,给下层框架(或库)应用的。
上述个性尽管一般开发者很少用到,但至多文档中提及了。但随着 React
一直向元框架方向倒退,即便出了新个性,文档中曾经不再提及了。比方:
useOptimistic
useFormStatus
上述两个 Hook
想必大部分同学都没听过。他们是 React
源码中切实存在的 Hook
。但因为是元框架理念下的产物,所以React
文档并未提及。相同,Next.js 文档中能够看到应用介绍。
总结
React
之所以曾经一年没有公布稳固 release
,是因为倒退方向曾经从 面向开发者 转型为 面向下层框架。
在此期间的更新都是面向下层框架,所以开发者很难感知到 React
的变动。
但这并不能阐明 React
进行迭代了,也不能据此认为前端倒退的停滞。
如果肯定要定量察看 React
最近一年的倒退,间隔 React v19
里程碑,曾经大体过半了: