你为什么选择React而不选择Vue?

我最近弃Vue入React了,因为生态实在是不好, Vue都已经火了几年了,没一个比得上React Ant Design的UI框架。Element U…
关注者
2,049
被浏览
2,033,005

325 个回答

谢邀。

我用 React 不用 Vue,目前只有两个原因:

  1. 我对 React 的熟练程度远超过 Vue ,在这种熟练程度下,Vue 给我带来的解决问题的能力,并没有任何提升,因此,不用。
  2. 我生活、工作中有很多的问题需要我去解决,使用能用 React 解决的问题,用 Vue 成本并不会变低。他们都是同一时代的产品不同的解决方案而已。当别人提起是 亚马逊 的商业模式正确还是 阿里巴巴 商业模式正确的时候,马云说:我希望两种模式都正确,如果世界只有一种模式,那就太无聊了。

我真正想说的

前端大概是目前程序员届里对什么是「核心竞争力」最模糊的一个群体,造成这样的原因是因为前端程序员这个群体年龄还比较小,人数又众多,所谓说有人就有江湖,就是这个道理。


我一直提倡,想成为一个厉害的人,既不能随波逐流也不能停止学习。作为我个人,我不局限我所做的语言甚至是行业,什么前端和后端其实只是软件设计的一种解决方案而已,程序员多看看市场、多了解产品,多学学说话,多多修炼自己的写作,多多锻炼自己的身体。


这么做的原因并不是毒鸡汤,而是我之前说的一个核心:提升自己的「核心竞争力」。每当说到 React 和 Vue 又或者是什么前后端框架的时候,总会有几个人跟我争辩,其争辩的核心思想无外乎就是:xxx那么大公司的公司,根本不需要你 xxx 样,你懂个 b 毛?


嘿嘿,是啊,那些个大公司就是想让你进去做一个螺丝钉。在你年轻力壮、呆头呆脑、初出茅庐的时候给你灌输「面试造火箭,入职螺丝钉」的奇葩理论,把你这个加班勤快的小呆子绑在一台机器上,让你以为这他妈就是全世界最好的工作,于是你就被按在这台机器上,慢慢磨成了这个机器上的某个特定零件,一离开这个岗位,你发现自己连 b 都不是(心里还没 b 数)。


某一天,这台机器被抛弃了,你不得不离开自己的岗位,去别的岗位的时候,你会发现,自己仍然屁都不是。你看,这是不是就是知乎上说的程序员中年危机?


React 和 Vue 就算你再精通也好,都只是历史进程这台机器上某个特定时段的一个小螺丝,这跟螺丝小到可以忽略不计。所以你再熟悉,再屌,也没球用。


核心竞争力

这个时代是信息爆炸的时代,解决方案同样很容易被传播和推广。所以光是掌握某个领域的某个技能,是完完全全不够的。就算你掌握了领域内的所有技能,仍然是不够,多少大牛级别的人物一样是有中年危机,这些人都没来知乎发帖,你自然是不懂。


所以主动跳出自己领域,变成多领域的学习者,是成为一个牛人必备的关键技能,这些领域包含但不限于:投资、商业、推广、策划、产品、人际关系等等。接下来分点来阐述:


  1. 人际关系,大部分程序员最傻的就是沉浸在自己的世界里,以为自己研究了 xxx ooo 源码非常厉害,而忽略了人际关系。很多时候,人与人的交涉交流之中,能获得的往往是 1+1= n。想想,到30多岁,依然没搞明白自己认识了什么人,获得了什么信息,这多可悲?
  2. 现在的程序员经常被产品经理牵着鼻子走,明明是掌握更多信息的人,反而被一些外行瞎扯淡带跑。所以,程序员想提升自己的核心竞争力,就要有产品思维。简单来说就是程序员真的是要比产品经理更懂市场,更懂产品,更会好好说话,才能提升自己的核心竞争力。你们膜拜的 evan you 就是这样的人。
  3. 一定要跳出自己的领域,不要觉得自己的领域就是神,尤其是现在程序员可能是职场中的宠儿,钱多。然而,这只是时代造成的,并不是你比那些做科学的、做政治的、做经济的、做哲学的、做心理的、做生物的更厉害。一定要跳出领域,保持学习。


最后

无论是 React 或者 Vue 都会像 bootstrap 或者 jq 一样,被时代抛弃。选择当下对你、对团队成本最低的一个框架或者语言,是最实际最可靠的。


切记,精通 React 或者 Vue 绝对不是提升核心竞争力的体现,过几年,死都不懂怎么死。

最主要的原因是 React 生态圈一直在从根源上影响我对 UI 开发的 思考方式

对我而言,学习曲线、易用性、成本、特性反而可以放在次位(虽然对于团队项目来说,这些或许是第一位)。

https://twitter.com/dan_abramov/status/1066329601222283264

许多人第一眼看到 JSX 都有劝退的感觉。但熟悉过后,时间越久,这种把 UI 当作 “值” 来思考和处理的方式越来越让人感到震撼。React 一直将自己定位成 library(甚至可以理解为 function)而非 framework。JSX 和 render function 是其中精髓。而最近的 Hooks 进一步加强了这一点。

好的工具可以影响创作者的思想方式,而不仅是让你更方便地写代码。

https://rauchg.com/2015/pure-ui

React 的生态圈带给了我们 Redux(immutable 的思想,带来 hot-reloading 的用法)、react-motion(真正的 spring 动画)、react-router(经历过 Angular 1 的我:路由还可以这样写?路由还可以到处扔?)、CSS-in-JS 等等漂亮的想法,以及 Hooks、Suspense、Portal、SSR、React Native、Async Rendering,甚至 Yew 这种 “JSX in Rust”。

我这里并非在说,这些是 React 生态圈的原创。但它们都是在 React 的应用中得到认可、逐渐主流的。

所以回到根源,我并不选择去关注某一堆代码,而是它背后一群有创造力的人(和他们的天才想法)。

Dan Abramov、Evan You、Cheng Lou、Andrew Clark、Sebastian Markbåge、Ryan Florence、Christopher Chedeau、Jordan Walke……每一个人都值得我 bet on。