你为什么选择React而不选择Vue?
325 个回答
谢邀。
我用 React 不用 Vue,目前只有两个原因:
- 我对 React 的熟练程度远超过 Vue ,在这种熟练程度下,Vue 给我带来的解决问题的能力,并没有任何提升,因此,不用。
- 我生活、工作中有很多的问题需要我去解决,使用能用 React 解决的问题,用 Vue 成本并不会变低。他们都是同一时代的产品不同的解决方案而已。当别人提起是 亚马逊 的商业模式正确还是 阿里巴巴 商业模式正确的时候,马云说:我希望两种模式都正确,如果世界只有一种模式,那就太无聊了。
我真正想说的
前端大概是目前程序员届里对什么是「核心竞争力」最模糊的一个群体,造成这样的原因是因为前端程序员这个群体年龄还比较小,人数又众多,所谓说有人就有江湖,就是这个道理。
我一直提倡,想成为一个厉害的人,既不能随波逐流也不能停止学习。作为我个人,我不局限我所做的语言甚至是行业,什么前端和后端其实只是软件设计的一种解决方案而已,程序员多看看市场、多了解产品,多学学说话,多多修炼自己的写作,多多锻炼自己的身体。
这么做的原因并不是毒鸡汤,而是我之前说的一个核心:提升自己的「核心竞争力」。每当说到 React 和 Vue 又或者是什么前后端框架的时候,总会有几个人跟我争辩,其争辩的核心思想无外乎就是:xxx那么大公司的公司,根本不需要你 xxx 样,你懂个 b 毛?
嘿嘿,是啊,那些个大公司就是想让你进去做一个螺丝钉。在你年轻力壮、呆头呆脑、初出茅庐的时候给你灌输「面试造火箭,入职螺丝钉」的奇葩理论,把你这个加班勤快的小呆子绑在一台机器上,让你以为这他妈就是全世界最好的工作,于是你就被按在这台机器上,慢慢磨成了这个机器上的某个特定零件,一离开这个岗位,你发现自己连 b 都不是(心里还没 b 数)。
某一天,这台机器被抛弃了,你不得不离开自己的岗位,去别的岗位的时候,你会发现,自己仍然屁都不是。你看,这是不是就是知乎上说的程序员中年危机?
React 和 Vue 就算你再精通也好,都只是历史进程这台机器上某个特定时段的一个小螺丝,这跟螺丝小到可以忽略不计。所以你再熟悉,再屌,也没球用。
核心竞争力
这个时代是信息爆炸的时代,解决方案同样很容易被传播和推广。所以光是掌握某个领域的某个技能,是完完全全不够的。就算你掌握了领域内的所有技能,仍然是不够,多少大牛级别的人物一样是有中年危机,这些人都没来知乎发帖,你自然是不懂。
所以主动跳出自己领域,变成多领域的学习者,是成为一个牛人必备的关键技能,这些领域包含但不限于:投资、商业、推广、策划、产品、人际关系等等。接下来分点来阐述:
- 人际关系,大部分程序员最傻的就是沉浸在自己的世界里,以为自己研究了 xxx ooo 源码非常厉害,而忽略了人际关系。很多时候,人与人的交涉交流之中,能获得的往往是 1+1= n。想想,到30多岁,依然没搞明白自己认识了什么人,获得了什么信息,这多可悲?
- 现在的程序员经常被产品经理牵着鼻子走,明明是掌握更多信息的人,反而被一些外行瞎扯淡带跑。所以,程序员想提升自己的核心竞争力,就要有产品思维。简单来说就是程序员真的是要比产品经理更懂市场,更懂产品,更会好好说话,才能提升自己的核心竞争力。你们膜拜的 evan you 就是这样的人。
- 一定要跳出自己的领域,不要觉得自己的领域就是神,尤其是现在程序员可能是职场中的宠儿,钱多。然而,这只是时代造成的,并不是你比那些做科学的、做政治的、做经济的、做哲学的、做心理的、做生物的更厉害。一定要跳出领域,保持学习。
最后
无论是 React 或者 Vue 都会像 bootstrap 或者 jq 一样,被时代抛弃。选择当下对你、对团队成本最低的一个框架或者语言,是最实际最可靠的。
切记,精通 React 或者 Vue 绝对不是提升核心竞争力的体现,过几年,死都不懂怎么死。
最主要的原因是 React 生态圈一直在从根源上影响我对 UI 开发的 思考方式。
对我而言,学习曲线、易用性、成本、特性反而可以放在次位(虽然对于团队项目来说,这些或许是第一位)。
许多人第一眼看到 JSX 都有劝退的感觉。但熟悉过后,时间越久,这种把 UI 当作 “值” 来思考和处理的方式越来越让人感到震撼。React 一直将自己定位成 library(甚至可以理解为 function)而非 framework。JSX 和 render function 是其中精髓。而最近的 Hooks 进一步加强了这一点。
好的工具可以影响创作者的思想方式,而不仅是让你更方便地写代码。
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。