作者
Joshcollinsworth译者
核子可乐
策划
闫园园来源
InfoQ(ID:infoqchina)
如今,纵观各类招聘网站上的前端职位,大家往往都会看到一个熟悉的字眼:React。虽然企业雇主也经常会列出其他一些类似的前端框架选项,但React的地位几乎是雷打不动。
但面对这样的现实,请原谅我始终无法理解。除了流行,React到底还有什么优势?
首先我想澄清一点,我对React没有任何敌意。我知道它挺好,而且如果需要开发庞大复杂的前端项目,我其实也并不抗拒使用React。
React的出现,为其他框架当前及未来的功能规划奠定了基础。Vue3及其组合API明显是受到Reacthooks的启发。Svelte中的很多约定就来自React。至于我最喜爱的Vue框架Nuxt,它的大部分设计思路都来自React的元框架Next。总而言之,整个基于组件的前端设计和开发模型,特别是目前的整个生态系统,都离不开React的鼎力支持。
但就个人观点,我还是觉得React像是那种开创了流派的祖师级老电影、音乐专辑或者电子游戏。它的伟大体现在那个时间点上的开创性,但时至今日自身的绝对价值其实已经很有限了。
好吧,这话可能说得有点狠。毕竟一提到开创性的老电影,大家首先想到的就是《公民凯恩》,React跟其他框架间的差距肯定不像《公民凯恩》相较于后来的经典佳作那么大。我的观点很简单:
React已经老了,只是经常用它的朋友们还没有意识到它老到了什么程度、引发了哪些问题。
如果只用React,那可能会觉得这框架不错啊,而且一直在努力改进。确实,React在很多方面都是越来越好,但这并不能改变它的发展速度和功能上限已经长期跟不上同类方案的事实。
总之一句话,React表现得不错,只是不像其他框架那么好。
1工作中的最佳选项假设大家身为某家科技初创公司的CTO,或者是打算开发某网络软件新产品的个人创业者。
我们面前摆着新项目的蓝图,可以随意选择自己喜爱的技术进行构建。没有约束,也不设产品生命周期限制,那么你会选择哪一种前端框架?
(有些朋友可能会抬杠说,不用前端框架也行。但对于任何成规模、比较复杂的项目来说,不用前端框架肯定不是什么好主意。)
要做出选择,先要考虑以下几项条件:
性能、学习曲线、绑定包大小、可扩展性、社区与支持、资金支持、开发者体验、人才供应
而有没有一种可能,从这么多角度来论证,其实React并不是什么好选择。
下面咱们逐一探讨。
性能大家可以通过多种不同指标来衡量性能。但无论