“开发总是选 React,扼杀了前端创新”

admin 2025-09-19 阅读:42 评论:0
默认使用 React 是有隐性成本的。下面是一个主张:在选用框架时,应当有意识地做出选择,挑选最适合的工具。 React 已不再依靠技术优势取胜,如今它的胜出更多是因为很多开发者习惯性的默认选择。但这种默认,正在放缓整个前端生态的创新步伐。...

默认使用 React 是有隐性成本的。下面是一个主张:在选用框架时,应当有意识地做出选择,挑选最适合的工具。

React 已不再依靠技术优势取胜,如今它的胜出更多是因为很多开发者习惯性的默认选择。但这种默认,正在放缓整个前端生态的创新步伐。

当团队需要一个新的前端框架时,讨论很少从“我们的约束条件是什么,哪个工具最合适?”开始。更多时候,话题直接落在“用 React 吧,大家都懂 React。”这种下意识的选择制造了一个自我循环,架构的决定往往不是基于技术契合度whatsapp网页版,而是基于网络效应。

与此同时,那些真有创新的框架却很难被用起来。比如 Svelte,直接把框架的开销在编译阶段就干掉了。Solid 能做到特别精细的响应式更新,而且不用付虚拟 DOM 的性能代价。Qwik 则靠「可恢复性」技术,让页面几乎能秒开。像这样的方法,在很多常见场景下都能比 React 更快更省,但往往得不到公平的比较,因为大家习惯性地直接选 React。

React 在很多方面都很优秀。问题不在 React 本身,而在于「默认用 React」的思维方式。

创新的天花板

React 的技术基础,解释了当下部分摩擦的根源。虚拟 DOM 在 2013 年是一个聪明的解决方案,但正如 Svelte 的主力开发者 Rich Harris 在《Virtual DOM is pure overhead》中指出的,它引入了许多现代编译器本可以避免的开销。

Hooks 解决了类组件的痛点,但同时带来了新的复杂性:依赖数组、闭包失效、以及被误用的副作用。甚至连 React 官方文档也在强调克制:“你可能并不需要 Effect(You Might Not Need an Effect)”。服务端组件(Server Components)改善了首字节时间(TTFB),却增加了架构复杂性和新的故障模式。

React Compiler 是一款智能的工具,可以自动化 useMemo/useCallback 之类的模式。但它的存在本身也是一种信号:我们仍在为模型里固有的约束做补丁和优化。

而与之形成对比的是其他框架的探索:Svelte 5 的 Runes 在编译期简化了响应式;Solid 的细粒度响应式可以只更新变化的部分;Qwik 的可恢复性机制则完全免去了传统的 hydration。这些并不是对 React 模型的增量改进,而是完全不同的模型,拥有不同的上限。

有创新但没人用,也解决不了问题。如果大家只是习惯性地选一个框架,那新的东西根本没机会被采用。

我们共同背负的技术债

默认使用 React,往往意味着我们无条件接受它的运行时和协调成本。即便在很多情况下“够快”,它的上限依然低于编译期或细粒度模型。开发者花费大量时间在管理重新渲染、Effect 依赖、hydration 边界上,而不是在交付业务价值。性能研究给出的总体结论是一致的:JavaScript 在关键路径上代价高昂。

更深层的问题在于,我们的思维模型围绕着“React 模式”为中心,而不是以 Web 基础为中心,这降低了技能的可迁移性,也让架构惯性更容易固化。

损失的不仅仅是性能,还有当更合适的替代方案从未被评估时的机会成本。比如,在JS Framework Benchmark这样的基准测试中,Solid 在响应式密集的场景下,更新速度往往比 React 快 2–3 倍。

被压制的框架们

Svelte:编译器革命

Svelte 把大量工作前移到编译期:没有虚拟 DOM,运行时开销极小。组件最终被转化为针对性的 DOM 操作,思维模型也更贴近 Web 基础。

然而,“缺乏足够的岗位需求”让 Svelte 的采用率被人为压低,即使在大多数用例里它有更突出的技术优势。真实案例已经证明它的价值:例如 The Guardian 在前端中引入 Svelte 后,性能和开发效率都有显著提升,打包体积减少,加载速度加快。再比如外媒 Wired 的报道提到,开发者 Shawn Wang(X/Twitter 上的 @swyx)将自己的网站从 React 的 187KB 缩减到仅 9KB,正是依靠 Svelte 的编译期优化,把框架开销从运行时剥离。这种机制让应用在慢速网络下也能更快、更高效。

Solid:响应式原始方法

Solid 提供细粒度的响应式,并保留了 JSX 的熟悉体验。更新通过 signal 直接流向受影响的 DOM 节点,完全绕过协调(reconciliation)的瓶颈。它具备强劲的性能特征,但知名度有限。

根据 Solid 的官方对比指南,这种模式比 React 的虚拟 DOM 更新更高效,响应式更精准,避免了不必要的计算,同时也让状态管理更简洁,改善了开发体验。

虽然与更成熟的框架相比,Solid 的典型案例还不算多,但这主要源于采用率偏低。来自早期用户的反馈显示,它能带来更新效率和代码简洁性的显著提升,只待更多团队尝试和扩展,才能得到更广泛的验证。

Qwik:可恢复性的创新

Qwik 采用可恢复性(resumability)而不是 hydration,让应用只加载当前交互所需的内容,从而实现即时启动。这对大型站点、长时间会话或慢速网络尤为理想。根据 Qwik 的 Think Qwik 指南,它通过渐进式加载以及状态与代码的序列化来实现应用恢复whatsapp网页版登录,无需繁重的客户端初始化。结果是具备更好的可扩展性和更短的初始加载时间。

Qwik 的成功案例之所以相对少见,很大程度上是因为很少有团队愿意跳出默认框架去尝试。但那些尝试过的团队普遍报告了启动时间和资源效率的巨大提升,这意味着它还有大量潜力尚未被释放。

这三个框架之所以“被低估”,并不是因为技术不够优秀,而是因为“默认选择”阻碍了它们的试用。

此外,React 的 API 接口比这些替代方案更庞大、更复杂,包含 hooks、context、reducers、memoization 等概念,开发者必须小心管理才能避免陷阱。这种庞大的 API 带来更高的心智负担,常常导致依赖理解错误或过度设计,从而引发 bug。比如在 2025 年 9 月 12 日 Cloudflare 的一次宕机中,一个带有问题依赖数组的 useEffect hook 触发了反复的 API 调用,压垮了他们的 Tenant Service,造成大面积故障。相比之下,Svelte、Solid 和 Qwik 的 API 更小、更聚焦,强调简洁和 Web 基础,降低了开发者的心智负担,也更易于掌握和维护。

网络效应的囚笼

React 的主导地位制造了自我强化的壁垒。招聘信息往往写的是“招聘 React 开发者”,而不是“招聘前端工程师”,限制了技能的多样性。组件库和团队的习惯进一步加固了这种惯性。

风险规避型的管理者会选择“最安全”的选项。学校教授市场所需的技能。于是,这个循环在技术优劣之外继续运转。

这不是良性的竞争,而是由“默认”造成的生态垄断。

打破网络效应

要逃离这个困局,需要在多个层面主动出击。技术负责人应当基于约束条件和技术优势来选择,而不是凭借惯性。公司可以预留一部分创新预算来尝试替代方案。开发者则可以拓展技能,不局限于某一种思维模型。

教育者可以在教授具体工具的同时,加入与框架无关的概念。开源贡献者则能帮助替代生态逐步成熟。

改变不会自动发生,它需要有意识的选择。

框架评估清单

如果想做出有意识的选择,可以在启动新项目时参考以下简要清单:

常见的反驳理由

有人可能会找各种理由来拒绝新框架,比如:

其实成熟的生态固然有价值,但也可能加深开发者的惰性。年头长不等于适合今天的约束。成熟生态往往意味着对第三方包的高度依赖,这会带来额外维护成本:需要不断更新依赖、应对安全漏洞,甚至因未使用的代码而导致打包膨胀。

虽然有时不可避免,但这种灵活性可能导致过度依赖;相较之下,基于具体需求的定制化方案往往更轻量、更易维护。小而新的生态鼓励从基础出发,减少技术债,并加深对底层的理解。而且随着 AI 编码助手能按需生成精准的定制函数,构建轻量的应用专用工具库已比以往更容易,像 lodash 或 Moment 这样的通用库很多场景下可以完全避免。

招聘随需求而动。可以先在非关键路径试点替代框架,以此降低风险,再通过招聘基础扎实的开发者并提供上手培训来填补技能差距。

框架无关的设计系统和 Web Components 能减少锁定,同时保持开发效率。

React 从类组件到 Hooks,再到 Server Components,本身就是不断变动,而非稳定。许多替代框架反而提供更一致的 API。

jQuery 也曾在大规模中被验证,但过去的成功不保证未来的相关性。

更广泛的生态损害

当一个框架的限制变成事实上的天花板时,单一文化会拖慢 Web 的演进。人才花大量时间解决框架特有的问题,而不是推动平台前进。投资也会无视技术优劣,只跟随既有霸主。

课程更关注“立即就业”而非基础知识,培养出的是框架专属技能,而非可迁移的能力。平台改进也因此被延后whatsapp网页版,因为“React 可以搞定”成了默认答案。

当多样性消失,整个生态都在受损。

我们可以做的事情

健康的生态需要多样性,而不是单一文化。真正的创新来自不同方法的竞争与交融。开发者通过学习多种思维模型而成长;当多个框架在不同方向上推进边界时,平台也会更快进步。

把所有赌注压在一种模型上,就等于制造了单点风险。一旦它遇到硬性瓶颈会怎样?我们又错过了多少本该探索的机会?

是时候回到约束与技术优劣,而不是靠着单一的个人、团队使用习惯来选择框架了。你的下一个项目,理应得到比“默认 React”更好的方案。整个生态,也理应获得只有多样性才能带来的创新。

不要再默认种下同一颗种子。通过多样化框架探索,我们本可以培育出一个更具韧性、更具创新力的花园,而不是滑向单一化的荒地。选择权,就在我们手中。

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

分享:

扫一扫在手机阅读、分享本文

3502文章数 0评论数
热门文章
  • 详细指南:WhatsApp国内使用方法全攻略-下载安装、注册登录及功能使用攻略

    详细指南:WhatsApp国内使用方法全攻略-下载安装、注册登录及功能使用攻略
    一、下载与安装WhatsApp WhatsApp是一款全球使用范围极广的即时通讯软件,不仅可以实现文本聊天,还能进行语音、视频通话WhatsApp中文版,发送文件等功能。由于众所周知的原因,国内用户想要下载和安装WhatsApp可能会遇到一些困难。不过,只要按照以下步骤操作,就能顺利完成WhatsApp的下载和安装。 首先,我们需要解决的是下载问题。由于WhatsApp在国内的应用商店无法直接下载,所以我们需要寻找其他的下载途径。Android用户可以选择到各大安卓市场搜索下...
  • 苹果IOS5.1.1机完美越狱

    苹果IOS5.1.1机完美越狱
    越狱工具下载:(需手动复制: http://bbs./read-htm-tid-4804612.html ) 详细的越狱教程: Absinthe 2.0.4的越狱方法与Absinthe 1.0的越狱方法完全一样,非常简单的“傻瓜一键式”。不过这里绿毒有说明,最好重新刷固件。支持越狱设备IOS5.1.1的固件下载地址请点击本站的IOS固件下载,看下图: 下载完固件之后,把设备连接iTunes,开始刷固件。你也可以选择不刷,但是在越狱的过程之中,新的系统在越狱时会比较的顺利,...
  • 电脑微信的聊天照片文件在哪里微信图片保存电脑哪个文件夹

    电脑微信的聊天照片文件在哪里微信图片保存电脑哪个文件夹
    1. 怎么找到微信聊天图片在哪个文件夹里 图片保存路径:/storage/emulated/tencent/MicroMsg/WeiXin/文件夹,这个是完整路径。而在文件夹中只需要找到/tencent/MicroMsg/WeiXinWhatsApp中文版,就可以了,前面两个文件夹是系统根目录。以下是保存及查找图片的方法步骤介绍。 第一步、找到桌面的微信APP,直接点击打开这个微信的APP。 2. 电脑微信图片保存在哪个文件夹 个人微信文件夹。 电脑版微信聊天的图片,都保存到...
  • Windows 11版WhatsApp将从UWP/Native切换回WebView2打包模式

    Windows 11版WhatsApp将从UWP/Native切换回WebView2打包模式
    Meta(最近更名为 Meta AI)悄然宣布,WhatsApp 将在 Windows 11 上放弃 UWP(WinUI)WhatsApp中文版,退回采用基于 Chromium 的容器。这意味着 WhatsApp 又回到了几年前的样子。由于 web.whatsapp.com 一直领先于 Windows 应用开发,它确实拥有一些新功能,但速度更慢,占用更多内存。 如果独立开发者因为无力维护所有平台的代码库而选择 Web 应用程序,那是一回事,但当像 Meta 这样价值万亿美元...
  • 小米下載WhatsApp的完整指南:安装与使用注意事项

    小米下載WhatsApp的完整指南:安装与使用注意事项
    综上所述,确保您的小米手机具备以上条件,将有助于您顺利下载和安装WhatsApp,享受便捷的通讯服务。在满足这些条件后,您就可以按照后续步骤进行WhatsApp的下载和安装。 2. 下载和安装WhatsApp的具体步骤 在小米手机上下载和安装WhatsApp的具体步骤相对简单,但需注意一些特殊情况。首先,确保你的手机系统已更新到最新版本,以保证最佳的兼容性。由于安卓手机商店内无法直接找到WhatsApp,你可以通过APKPure等第三方应用商店进行下载。打开APKPure应用...