关于前端:为什么React一年不发新版了

42次阅读

共计 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 最近一年处于重构期。那么,到底是重构什么呢?

答案是 —— 将 RSCReact Server Component,服务端组件)接入以后React 体系内。

有同学会问:RSC只是个相似 SSR 的个性,为什么要实现他还波及重构?

这是因为 RSC 不仅是一个个性,更是 React 将来次要的倒退方向,其意义不亚于 Hooks。所以,围绕RSC 的迭代波及大量代码的重构。比方:

  • SSR相干代码须要批改
  • SSR代码批改导致 Suspense 组件代码批改
  • Suspense的批改又牵扯到 useEffect 回调触发机会的变动

能够说是牵一发而动全身了。

RSC 为什么重要

为什么 RSCReact这么重要?要答复这个问题,得从开源我的项目的倒退聊起。

开源我的项目要想获得成功,肯定须要满足指标用户(开发者)的需要。

晚期,React作为前端框架,满足了 UI 开发的需要。在此期间,React团队的迭代方向次要是:

  • 摸索更清晰的开发范式(公布了Error BoundraySuspenseHooks
  • 修补代码(公布新的 Context 实现)
  • 优化开发体验(公布CRA
  • 底层优化(重构 Fiber 架构)

能够发现,这些迭代内容中大部分(除了底层优化)都是间接面向一般开发者的,所以 React 文档(文档也是面向开发者的)中都有体现,开发者通过文档能直观的感触到 React 一直迭代。

随着前端畛域的倒退,逐步涌现出各种业务开发的最佳实际,比方:

  • 状态治理的最佳实际
  • 路由的最佳实际
  • SSR的最佳实际

一些框架开始整合这些最佳实际(比方Next.jsRemix,或者国内的Umijs…)

到了这一时期,开发者更多是通过应用这些框架间接应用React

感触到这一变动后,React团队的倒退方向逐步变动 —— 从 面向开发者 的前端框架变为 面向下层框架 的元框架。

倒退方向变动最显著的体现是 —— 文档中新出的个性一般开发者很少会用到,比方:

  • useTransition
  • useId
  • useMutableSource

这些个性都是作为元框架,给下层框架(或库)应用的。

上述个性尽管一般开发者很少用到,但至多文档中提及了。但随着 React 一直向元框架方向倒退,即便出了新个性,文档中曾经不再提及了。比方:

  • useOptimistic
  • useFormStatus

上述两个 Hook 想必大部分同学都没听过。他们是 React 源码中切实存在的 Hook。但因为是元框架理念下的产物,所以React 文档并未提及。相同,Next.js 文档中能够看到应用介绍。

总结

React之所以曾经一年没有公布稳固 release,是因为倒退方向曾经从 面向开发者 转型为 面向下层框架

在此期间的更新都是面向下层框架,所以开发者很难感知到 React 的变动。

但这并不能阐明 React 进行迭代了,也不能据此认为前端倒退的停滞。

如果肯定要定量察看 React 最近一年的倒退,间隔 React v19 里程碑,曾经大体过半了:

正文完
 0