不熟悉前端,需心求問,並非引戰, VUE 和 react

2022-05-24 13:57:53 +08:00
 markgor

我主要是後端開發,之前接觸到了前端的 vue 2.0 ,慢慢習慣並且感覺挺方便的。 但是今天突然發現,agoda/攜程 /騰訊雲 /阿里雲 他們都是使用 react 進行開發。 兩者上大致差異我也百度過了,但想咨詢下, 如果一個 list 有 30 條,每條有 100 個欄位,通過 vue 和 react 來生成 table 。他們性能差異會很大嗎? 如果需要動態改變其中某一條某一個欄位,vue 和 react 他們性能上會不會有過大的區別? 另外好奇為什麼好像大廠都選擇 react ?

5165 次点击
所在节点    程序员
67 条回复
murmur
2022-05-24 14:02:31 +08:00
这看你的 list 是啥东西,如果是纯 table tr td 可能会慢点,被模板拼接秒杀,但是不会卡到哪里去

如果是各种装饰后的组件,比如 input dropdown datetime ,哪个都白扯
estk
2022-05-24 14:06:22 +08:00
看了 npmjs.org ,vue 和 react 的周下载量分别为:
3,429,912
15,629,707
群众的眼睛是雪亮的?还是,真理掌握在少一些的人手里?
murmur
2022-05-24 14:08:22 +08:00
如果两个技术都差不多,大厂更喜欢难的,主要是程序员可以保住自己的位置,东西本身难,不好使,还可以造更多轮子

有什么东西原生都可以搞定,给你 vue 反倒不行了,是人太菜还是人太矫情
FightPig
2022-05-24 14:09:14 +08:00
我选 svelte ,生态不行,不过自己写组件也很方便
hxysnail
2022-05-24 14:09:30 +08:00
我个人的看法是:react 更简单,除了 JSX 其他都是标准的 JS 语法,没有模板语法和指令的记忆负担,会 JS 就能写。react 的设计思想也比较接近前端开发的本质,组件本质上就是一个函数,根据参数和状态,渲染出结果视图。
murmur
2022-05-24 14:10:39 +08:00
@hxysnail 那我的看法还是 vue 更正统呢,vue 的 template 更接近 html 语法,从亘古以来,前端就是 html+css+js 三件套,html 里一直写的都是 class ,什么时候写过 className 了
roger1253
2022-05-24 14:10:55 +08:00
他們性能差異會很大嗎?
不会

如果需要動態改變其中某一條某一個欄位,vue 和 react 他們性能上會不會有過大的區別?
不会

另外好奇為什麼好像大廠都選擇 react ?
react 出现的早,用的人多,生态环境好,而且有 facebook 光环
pigspy
2022-05-24 14:12:49 +08:00
react 有好的地方也有不好的地方

其中一个不好的地方就是 react 明确只是一个界面库,所有很多相关的东西需要自己组合搭配,所以自由度很大。在具体的实践上,大家有各自不同的最佳实践,相比 vuejs 显得更加分裂
makelove
2022-05-24 14:13:12 +08:00
@estk 你这下载量和哪个更好用有什么关系吗?如果这么说的话 react 背靠 fb 也没比个人框架拉开数量级差距是不是说明不行
FrankFang128
2022-05-24 14:13:24 +08:00
Vue 的文档完爆 React 的
eason1874
2022-05-24 14:13:31 +08:00
一个 vue 也承认的 react 的优点是,react 社区生态更繁荣

react 社区生态更繁荣,跨端支持更好,开发大型应用都倾向于选择 react ,大厂的大型应用也不例外
jjwjiang
2022-05-24 14:14:48 +08:00
react 在 hooks 出现以前比 vue 心智负担更大

但是在 hooks 普及之后心智负担大大减小了,现在没做过 react 的新人培训两次,重点讲解一下 useState 和 useEffect ,已经完全可以胜任常规工作了,同等时间上手 vue 肯定需要更多的记忆和习惯。

当然一旦到了更深的层次其实都差不多,react 生态更好点吧。
sjhspp
2022-05-24 14:15:50 +08:00
搜搜招聘,哪个招的多用哪个
hxysnail
2022-05-24 14:17:01 +08:00
@murmur class 因为关键字冲突,没有办法,不过我觉得还好
hxysnail
2022-05-24 14:20:09 +08:00
@jjwjiang 是的,我也觉得 react 更简单一点,会 JS ,在了解下 JSX 和 hooks 就可以开干了,哈哈
murmur
2022-05-24 14:22:48 +08:00
@hxysnail 纠正一点,vue 连 js 都可以不学完,v-if 和 v-for 是印在 dna 里的,是个编程语言都会学 if 和 for ,而 map 很多后端程序员是接触不到的,我见过有的后端连 array.join 都不知道

而 template 这个东西更是从前端到后端代代相传而来,为什么总有人觉得 template 学习负担重,一层层语法糖外加 es6 就没有心智负担
ychost
2022-05-24 14:22:49 +08:00
react 写起来不像传统前端
christin
2022-05-24 14:23:54 +08:00
react 生态更好,各种库各种选择。相比之下 vue 就少了很多
sjhhjx0122
2022-05-24 14:26:29 +08:00
既然已经这样了,我再来引个战,选 ng !
murmur
2022-05-24 14:27:50 +08:00
@christin 不存在的,凡是那种重型功能,比如图表,富文本编辑器,电子表格,他的核心一定是纯 js 的,否则 angular 不玩了是吧,是不是都把 angular 忘了

其余的 ui ,react 有,vue 也有,函数级的库也是纯 js ,不存在 react 用的了 vue 不行

如果是移动端跨端,国内是小程序爆杀,小程序 uniapp 那是 vue 语法

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/854956

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX