写点什么

React 社区分裂为全栈和仅客户端两大阵营

  • 2024-08-01
    北京
  • 本文字数:1205 字

    阅读完需:约 4 分钟

大小:611.34K时长:03:28
React 社区分裂为全栈和仅客户端两大阵营

最新的“React 现状”调查显示,虽然一些开发人员正在积极利用 React 服务器组件等重要新特性,但其他人仍在坚持使用其最初设计的传统 SPA(单页应用程序)。

 

软件工程师和 React 教育者 Josh W. Comeau 在调查结论中预测,“到 2028 年,将有两个都被广泛使用,使用量大致相当的 React 版本同时存在,一个是‘全栈’版本,带有服务器组件和服务器动作,另一个是仅限客户端的单页应用程序(SPA)版本。”

 

他的结论基于一份对 13,000 名受访者报告的服务器组件和服务端渲染使用情况的调查。29% 的人使用过服务器组件,其中超过一半的人表示希望再次使用它们。63% 的受访者使用了服务端渲染(SSR),但从 Comeau 的角度来看,“37% 的受访者从未使用过 SSR,尽管它已经存在十多年了。”

 

相比之下,86% 的用户将 React 用于 SPA,只有 27% 的人将 React 用于多页应用程序。请注意,与本次调查中的大多数数字一样,由于受访者可以选择多个选项,因此百分比总和超过 100。

 

调查作者指出,数据是在 2023 年 10 月 27 日至 11 月 15 日之间收集的,即 React 19 发布之前,而且由于服务器组件仅在 Vercel 的 Next.js 环境中得到了全面支持,因此 29% 的采用率可以说令人印象深刻。服务器组件也是开发人员最感兴趣的新特性列表中的佼佼者,占 40%,其次是新文档(31%)和 React 缓存(30%)。

 

Next.js 也是基于 React 的框架列表中的热门,76.3% 的受访者在使用它,并且普遍对其持积极态度。没有其他框架能与之匹敌,除非算上原始(和已弃用的)的 Create React App——91.7% 的人曾使用过它,但只有 13% 的人打算再用一下。Astro 正在蓬勃发展,18.8% 的人使用过它,其中三分之二的人希望继续使用。

 

React 用户在哪里托管他们的应用程序?根据这项调查,Vercel 是首选(59%),其次是 AWS(53%)、GitHub Pages(42%)和 Netlify(41%)。我们怀疑这在一定程度上反映了最了解这项调查并有动力完成调查的社区中的看法,而不是所有的 React 用户的意见,但尽管如此,这还是会加深一些人的质疑,他们认为 Vercel 对 Next.js 和 React 的控制太深了。

Vercel 在受访者选择的基于 React 的应用程序托管目的地列表中名列前茅

 

React 是否太复杂?证据好坏参半。调查中发现的被认为“过度复杂”的痛点中,9% 的人提到主要 API,7% 的人提到钩子,12% 的人提到新 API。不过这些都不是最大的痛点。开发人员在 fowardRef、memo、useEffect 和(不出所料)服务器组件等特性上遇到了更多困难。

 

另一个值得注意的统计数据是,大多数开发人员(89%)继续使用 webpack 构建 React 应用程序,其次是 Vite(82%)、esbuild(52%)和 Rollup(42%)。只有 29% 的人使用过 Turbopack,这是用 Rust 构建的 webpack 的替代品。

 

完整调查在这里(https://2023.stateofreact.com/)。

 

原文链接:https://devclass.com/2024/07/22/react-community-splitting-into-full-stack-and-client-only-camps-suggests-survey/

2024-08-01 12:047805

评论

发布
暂无评论
发现更多内容

MQTT 5.0新特性:属性与载荷

EMQ映云科技

物联网 IoT mqtt 企业号 3 月 PK 榜 载荷

Nautilus Chain 现已推出测试网“Triton ”,有哪些潜在的机会?

股市老人

React-Hooks源码深度解读

goClient1992

React

前端工程师leetcode算法面试必备-二分搜索算法(下)

js2030code

JavaScript LeetCode

用javascript分类刷leetcode3.动态规划(图文视频讲解)

js2030code

JavaScript LeetCode

工业数字孪生:西门子工业网络与设备虚拟调试案例

Openlab_cosmoplat

工业互联网 开源社区 数字孪生

活动推荐 | 博睿数据数智领航营火热报名中

博睿数据

保险 博睿数据 活动报名 数智领航营

如何用好免费的chatGPT

劼哥stone

人工智能 openai ChatGPT

深入react源码看setState究竟做了什么?

flyzz177

React

PyTorch深度学习实战 | 搭建卷积神经网络进行图像分类与图像风格迁移

TiAmo

PyTorch 图像处理

什么大模型?我是时尚产业“大模王”!

脑极体

AI

马克·安德森:纯粹产品护城河在硅谷少见,SaaS公司护城河是“分销”

B Impact

精华推荐 |【深度挖掘RocketMQ底层源码】「生产故障分析系列」深度挖掘RocketMQ底层那些导致消息丢失的汇总盘点透析(TIMEOUT_CLEAN_QUEUE)broker busy

洛神灬殇

RocketMQ 消息队列 3月日更 原理分析 底层源码

一天吃透分布式事务八股文

程序员大彬

Java 分布式事务

细说react源码中的合成事件

flyzz177

React

毕业设计

张贺

运维训练营第17周作业

好吃不贵

React Context源码是怎么实现的呢

flyzz177

React

Amazon Detective 支持 Amazon EKS 上的 Kubernetes 工作负载以进行安全调查

亚马逊云科技 (Amazon Web Services)

天工人巧日争新:昇腾AI的绚丽今日

脑极体

AI

Java中让两个线程交替执行的实现方式

Janwee

并发 信号量 java 多线程、

使用Nginx作为MySQL的TCP负载均衡器

Janwee

nginx 负载均衡 :MySQL 数据库

微信小程序管理软件助力企业数字化转型,实现智能化升级

FinFish

私有小程序技术 小程序管理平台 小程序技术 小程序管理

mybatis plus怎么使用注解的方式执行原生sql

俊俊哥

mybatis Mybatis-Plus 原生sql

React源码分析(一)Fiber

goClient1992

React

最新Blender 3.3安装包+详细安装教程

Finovy Cloud

blender 3D软件

盘点10款优秀的工作任务进度管理软件

爱吃小舅的鱼

项目管理 项目进度管理 项目进度管理软件

Java线程池执行器的饱和策略

Janwee

线程池 java

提示工程在AI绘画领域中的应用

FinFish

AI绘画 提示工程

看透react源码之感受react的进化

goClient1992

React

React 社区分裂为全栈和仅客户端两大阵营_架构/框架_Tim Anderson_InfoQ精选文章