问题

如何看待react被围攻?技术中立存在吗?

回答
“React 被围攻”——这个说法在技术圈里不算什么新鲜事了。如果你关注前端技术的发展动态,肯定会经常听到关于 React 的各种讨论,有些赞美,有些质疑,甚至有些批评声浪。我们不妨就来聊聊这个话题,并顺带探讨一下“技术中立”这回事儿。

React 为什么会“被围攻”?

首先得承认,React 能走到今天这个位置,确实不容易。它在前端界掀起了一场革命,彻底改变了我们构建用户界面的方式。但正因为它的影响力太大,触及了太多开发者的利益和习惯,所以被“审视”甚至“围攻”也是自然而然的事。我觉得这主要有几个方面的原因:

1. 技术迭代的必然性与负面观感: React 作为一个开源项目,社区活跃,技术也在不断演进。比如从类组件到函数组件的转变,Hooks 的引入,再到 Concurrent Mode(现在叫 Concurrency),这些都是重大的技术革新。但对很多开发者来说,这意味着需要不断学习新的概念和模式,投入时间和精力去适应。一些人觉得学得太快、太累,跟不上节奏,自然会产生抵触情绪。而且,每次大版本更新或新特性的推出,如果文档不够完善,或者存在一些 bug,就很容易引发一轮新的“围攻”。

2. 竞争对手的崛起与差异化策略: 随着前端技术的发展,涌现出了不少优秀的框架和库,比如 Vue、Svelte、SolidJS 等等。这些竞品往往会针对 React 的一些“痛点”进行优化,或者提出自己的独特解决方案。比如 Svelte 以其编译时优化的特性,号称能提供更小的包体积和更快的运行时性能;Vue 以其易学易用的模板语法和双向绑定,吸引了大量从 Angular 或 jQuery 过来的开发者;SolidJS 则在性能和响应式方面做得非常出色,且 API 设计更接近 React。这些竞品的出现,自然会吸引那些对 React 不太满意或者寻求新体验的开发者,他们也可能成为 React “围攻者”的一部分,通过对比突出 React 的不足。

3. 生态系统的问题与过度承诺: React 的强大在于其庞大的生态系统,有无数的第三方库、工具和解决方案。但这同时也是一把双刃剑。当一个项目变得越来越复杂,依赖的第三方库越多,就越容易出现兼容性问题、维护难度增加、或者引入不必要的复杂性。有些时候,为了解决一个看似简单的问题,可能需要引入一大堆库,导致项目臃肿不堪。此外,一些开发者可能会觉得 React 官方或者社区在某些方面“过度承诺”,导致实际使用中出现预期不符的情况。

4. 某些负面口碑的传播与放大: 互联网的传播特性决定了负面信息往往比正面信息更容易被关注和放大。可能一些开发者在使用 React 的过程中遇到了具体的坑,比如状态管理混乱、性能优化困难、或是JSX的某些局限性,这些经历被分享出来,并被其他人遇到类似问题的人所认同,久而久之就形成了一种负面口碑,即便这些问题在后来的版本中可能已经得到解决,或者有其他更好的解决方案。

5. 社区内部的意见分歧: 任何一个庞大的社区都会存在各种不同的声音和技术理念。比如关于 Hooks 的设计理念、关于状态管理的最佳实践、关于组件通信的方式等等,这些话题在社区内部本身就存在争议。当这些争议通过各种渠道传播开来,给人的感觉就像是 React 正在被不同阵营的开发者“围攻”。

那么,技术中立是存在的吗?

这是一个非常有意思且深刻的问题。我的看法是:严格意义上的技术中立,在实际操作中几乎是不存在的,或者说,它是一种理想状态,但我们很难完全达到。

我们可以从几个层面来理解:

1. 技术本身并非价值判断: 从纯粹的工具层面来看,技术本身是没有好坏之分的,它只是解决问题的手段。例如,一把锤子可以用来钉钉子盖房子,也可以用来破坏。React 本身提供了一种声明式构建 UI 的方式,它不是善也不是恶。这是技术“工具性”的一面,可以被认为是“中立”的。

2. 选择与使用中存在主观判断: 然而,当我们将技术应用于实际项目时,选择哪种技术、如何使用它,就必然会掺杂进人的主观判断、经验、目标以及所处的环境。
目标与场景: 一个需要快速开发 MVP 的项目,可能更适合上手快的框架;一个需要极致性能和最小包体积的项目,可能会倾向于 Svelte 或 SolidJS。选择与目标不符的技术,就可能导致“不中立”的使用。
团队经验与习惯: 如果一个团队成员大部分都精通 React,那么即使有其他更“优秀”的技术出现,为了提高效率和降低学习成本,他们也可能继续选择 React。这种选择是基于团队现有能力的“非中立”考量。
生态与社区支持: React 拥有极其庞大和成熟的生态系统,这意味着你在遇到问题时,更容易找到答案和解决方案。这种生态的“成熟度”本身就是一种影响力,会让开发者在选择时倾向于生态更完善的技术,这也可以看作是一种“非中立”的偏好。
商业和推广因素: 很多时候,技术的发展也受到商业利益和推广策略的影响。Facebook(Meta)作为 React 的背后支持者,自然会投入资源去维护和推广它。其他公司或社区也会尽力推广自己的技术。这些推广行为本身就不是“中立”的。

3. “围攻”本身也是一种立场表达: 当我们说某个技术被“围攻”时,这个“围攻”的行为本身就是一种立场。批评者有他们的理由,他们的经验和判断。他们通过批评来表达自己对技术的看法,或者希望技术朝着某个方向发展。从这个角度看,无论是支持者还是批评者,都在进行一种“非中立”的站队和表达。

4. 评价标准的多样性: “好”与“不好”的标准是多种多样的。是性能?是学习曲线?是生态系统?是社区活跃度?是开发效率?还是可维护性?对于不同的评价维度,同一种技术可能会得出截然不同的结论。当有人试图用单一维度去衡量所有技术时,就很容易产生片面的“非中立”评价。

总结来说,技术中立更像是一种“理想化的看待方式”,它鼓励我们尽量客观地分析技术的优缺点,不被情感或偏见左右。但在实际应用和选择技术时,我们不可能完全剥离自己的主观立场、团队情况、项目需求以及外部的生态影响。

所以,对于“React 被围攻”这件事,与其说是技术本身的“罪”与“非”,不如说是它在快速发展的技术浪潮中,被不同立场、不同需求、不同经验的开发者们反复审视、比较和讨论的正常现象。这种讨论,无论是否带有批评,最终都有可能推动技术本身的进步和生态的完善。

作为开发者,我们应该做的,是保持开放的心态,理解不同声音背后的原因,同时根据自己的实际情况,做出最适合自己的技术选择。不必过于纠结于技术是否“中立”,而更应该关注技术能否帮助我们更好地解决问题,创造价值。

网友意见

user avatar

React有因为你不支持乌克兰就不让你用吗?

Github你不用科学措施上得去吗?

你觉得不中立的是谁

类似的话题

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有