我使用 Vue 和 React 已经很长一段时间了,两个框架上实践代码量都在 10 万行以上。不得不说两者都是很 nice 的,帮助开发者减少很多工作量,这类框架是现代化前端开发必备的。然而 Vue 和 React 两者之间的选择并不像选择苹果或香蕉一样简单,两者在工程实践上的差距让我们逐渐放弃了 Vue 。本文以不一样的角度对两者进行深度对比。
...
那东西就是全局作用域。拿“允许在全局作用域上随便放东西很方便”作为优点的话,和“允许随地大小便会很方便”有什么区别……
见下面长文。(^__^) 嘻嘻……
为什么我们放弃了 Vue ? Vue 和 React 深度对比
1
putaozhenhaochi 2020-08-06 21:18:28 +08:00
@Evan You
|
2
loading 2020-08-06 22:01:01 +08:00 via Android
看看,我用 vue 2 没多久,听说 vue 3 很差,有点想换 react 了。
|
3
zhdsuperm OP @loading Vue 3,function API 没好多少,可以看上文里面的写法对比,还不如 class 写法。如果你原先会 Vue 切换到 react 很轻松,概念两者都差不多的。建议你试试
|
4
Wincer 2020-08-06 22:05:35 +08:00 via Android
每次谈论到 vue 和 react 的时候帖子总少不了争论,结果还是谁也说服不了谁。。
|
5
zoharSoul 2020-08-06 22:05:41 +08:00 3
[好文加精] 是什么鬼...
|
6
Jirajine 2020-08-06 22:08:29 +08:00 via Android
写的挺好的,vue 、go 、css 都是那种看起来简单,实际上坑很多的东西。
vue3 改进了 ts 的支持,以及抄了不少 react 的东西缝合进来,倒也值得一看,就是没有 react 那么优雅一致性好。 推荐阅读 https://medium.com/actualize-network/comparing-frontend-approaches-part-7-final-thoughts-69cdba516f86 这一系列文章,分别用 jQuery 、vue 、react 、elm 写同一个应用,能清晰的感受它们的区别。 |
7
gouflv 2020-08-06 22:11:02 +08:00 via iPhone
就说同样一套 ant design,react 写的很正常,vue 版本那 jsx 源码跟天书一样。虽然不排除人的因素,但是能看出两个适用范围还是有挺大差别的
|
9
suzic 2020-08-06 22:22:09 +08:00 via Android 4
Vue 项目解决 bug 和疑难杂症三大定理
没有什么是 deep watch 解决不了的,有就加 immediate 事件相关,dom 相关记得 nextTick 实在不行,就用 setTimeout 哈哈哈,多么痛的领悟!一定是改了不少的 bug 吧! |
12
anguiao 2020-08-06 22:28:25 +08:00
一般不轻易用 setTimeout(),前天花了 3 个小时,就为了把一个 setTimeout()换掉。
最后解决了,很开心,哈哈。 |
14
maomaomao001 2020-08-06 22:51:03 +08:00
文章挺长的
vue 的 Composition API 根本不是 无状态组件了 (和 react function component + hook 一样) , 不能把它归类为无状态下 而且, 状态管理 redux 也不是唯一唯一方案 , react + mobx 的组合其实也不少 代码行数的比较也比较可笑 ... 不过,我怎么感觉是推广文 ? |
15
maomaomao001 2020-08-06 22:51:46 +08:00
@zhdsuperm 为什么不看看 vue 3 Composition API 的起源目的呢
|
16
zhdsuperm OP @maomaomao001 恩恩 起源目的这块我没了解过,Vue 3 可以说实践上没用过,我应该试试,增加对比。不过代码行数这块还是有意义的,同样的功能,少了很多缩进以及括号对维护很有帮助(代码上量后)。当然如果公司把行数作为 KPI 指标的话,那......
|
17
revalue 2020-08-06 22:58:30 +08:00
真以为尤雨溪不上 v 站?
|
19
wxsm 2020-08-06 23:06:59 +08:00 via iPhone
再好的框架,配上垃圾程序员也能写出屎来。
再屎的框架,配上优秀程序员也能写出花来。 奉劝你们多提高自己的姿势水平,不要整天想搞大新闻。 |
20
murmur 2020-08-06 23:07:54 +08:00 1
对于这种东西,我就一句话,以前 jquery 做大项目,现在有了 vue 不行了,是人水了还是矫情了?
|
21
zhdsuperm OP @revalue 我觉得文章写的挺中立的,上来讨论也挺好的,我以前也是喜欢 vue 的写法、入门快而用上 Vue 的
|
22
zhdsuperm OP @wxsm ^_^ 哈哈,别那么严肃,首先 Vue 、React 这两个东西用起来都挺简单的,没什么难度,不觉得会了就很牛逼,其次文章主要是其他角度技术细节上的对比,因为你每做一个新项目,总要回答用 vue 还是 react 的问题吧,文章提到的解耦也是很重要一点,编码要做到无论啥框架,都能适配,而且健壮。最后,垃圾程序员的问题,hr 的角度:他便宜啊!如果他用了某个框架 bug 变少,别人也能维护,这就是增值的部分。
|
23
zhdsuperm OP @Jirajine 只要操作的是一个对象(不是 class 或者 function ),ts 支持都很难变好,因为类型推断必须写在对象上。
|
24
back0893 2020-08-06 23:34:36 +08:00
无所谓
反正我一个后端,react 选择太多.懒得选了 |
25
greg0220 2020-08-07 08:22:03 +08:00 via iPhone
我公司一年前还在用 ng8 。。
|
26
DL9412 2020-08-07 09:50:05 +08:00
你们是来推广这个网站的?
前两天还看了个帖子,翻新了篇以前老早看过的 vue,react 对比文章来拱火,也是发的这个网站 |
27
ruanimal 2020-08-07 09:54:46 +08:00
头一次见给自己“加精”的
|
29
maomaomao001 2020-08-07 16:15:30 +08:00
@zhdsuperm 是的 ,我很早以前 vue2 , 后来一直用的 react , hook 也是早早使用上了,
vue 3 没正式用过 , 但是 vue 3 的 hook 其实也有一些特色的 , 并非那么不值得一提 , 然后,回到代码行数 , 当然是代码越少问题越少啊, 我指的是 typescript 明明是类型自动推到的 , 组件内部的状态的类型,根本没有人会放在外面写一遍 , 甚至 99% 的情况 , props 的类型也不需要拿出来在外面写 ... vue3 也是 ... |