React 老矣,我建议大家用用别的框架( 三 )


人才供应 
这方面,React 确实堪称一骑绝尘 。如果想让新人快速理解之前的开发资产,那 React 的优势可太明显了 。
 
但是吧,我觉得单这一点不足以让 React 脱颖而出 。
 
鉴于选择 React 之后,应用程序的绑定包本身就更大、速度更慢而且复杂性更高,用这么多弊端来换取所谓项目接管期间的一点点便利,无疑是在牺牲长远收益寻求眼下省事 。翻译翻译,这不就是典型的技术债务吗?
 
现在省下的几个礼拜,未来可能需要几个月甚至几年来偿还 。所以虽然 React 在这方面占优,但大家最好还是认真核算一下,没办法无脑选它 。
 
另外,了解 React 的朋友想上手其他前端框架,应该不是什么难事 。没错,不同框架间总有一些细微差别和小怪癖,但其中遵循的设计理念还是大体相同的 。任何熟悉 React 的优秀开发者,也都能在其他框架上获得同样的工作成效 。
 
我承认,商业世界从来没有好坏,只有权衡取舍 。开发速度很重要,前面提到的每一点也都很重要 。所以,您的实际情况可能证明,哪怕是 React 速度更慢、绑定包更大、复杂度更高,它也仍然值得选择 。是的,我都理解 。
 
但大家做出的选择,最终也将成为与竞争对手在市场上搏杀时的一张牌 。选得好就是好牌,反之亦然 。如果大多数对手也选择 React,那大家就是烂牌对局、菜鸡互啄 。
 
而如果能选得更好,也许就能压制对方的牌形 。
 
批评了半天,React 为什么还是傲视同侪? 
因为很多人在做选择时,往往是比较草率的 。React 之所以现在受欢迎,就是因为 React 之前受欢迎 。
 
在真正占领市场之前,人们其实是出于其他理由去选择 React 的 。也许因为它能解决开发者面对的实际问题,也许因为它比较新奇有趣,或者是其他什么原因 。但可以肯定的是,当时人们选 React 绝不是看中它更好就业,或者是市场普及率最高的框架 。而时过境迁,现在大家再选择它,唯一的理由就是它够老、够踏实 。
 
企业选它,因为人才市场上懂 React 的群体很大;求职者学它,是因为人才市场上企业想要招聘 React 开发者 。这是个自我强化的循环,一个自我实现的预言 。
 
【React 老矣,我建议大家用用别的框架】于是 React 成了默认选项,只要没有充分的理由,更多人只会以无所谓的态度接着用 。
 
while (reactIsPopular) {reactIsPopular = true}复制代码
 
“毕竟没人会因为用了 React 而被解雇”,这话倒也没错 。React 是个安全的选择,可能不是每个人的最爱,但至少不会惹出大麻烦 。它,还是能干活的 。
 
所以只要没有强烈的业务需求,求职者和招聘方都可以接受围绕 React 建立起来的行业现状 。只要能把双方对接起来,React 的作用就已经达到了 。
 
这一切会改变吗?如何改变? 
我其实一直在关注事态的变化 。
 
但要说答案,我也没有 。根据之前提到的几份调查报告,React 的采用率确实出现了停滞 。也不能说不再增长,只能说 React 的增长跟不断扩大的市场本体之间保持了同步,三年来份额一直维持在 80%左右 。
 
但终有一天,我相信这种循环会中断 。但我不知道具体的导火索会是什么 。
 
也许是个量变引发质变的过程 。回想起来,很多趋势来得看似突然,但实际上一直在随时间推移而积蓄力量 。也许其他前端框架更好地证明了自己,并逐渐削平了 React 在人才储备方面的优势,于是企业开始向其他方案敞开怀抱 。
 
也可能会有部分企业触及 React 的性能上限,并结合业务需求转向性能更强的选项 。比方说,如果公司的业务对移动端性能有着极高要求,而且必须能够在设备配置差、网络不稳定的区域内提供良好体验,那 React 差出的这部分性能就足以促成改变 。
 
但对大多数企业来说,情况还没那么极端 。大部分旧项目实在没必要做迁移,性能困扰虽然偶然出现,也绝不至于要因此推动大规模重构 。所以继续用 React 完全没有问题,它在很多场景下已经完全够用了 。
 
所以没准市场就固化在了这一刻,再没有谁能真正挑战 React 的统治地位 。等到它真正宣布退位的时候,也许我们已经彻底抛弃了前端框架,那时候主流浏览器、特别是 JS 已经扩展到了不需要它们的地步 。这就是所谓后框架时代 。


推荐阅读