如果说选 Vue 的理由是简单易上手,那么选 React 的理由是什么?

2019-07-24 12:25:37 +08:00
 luoway

非引战。我关心的是应用场景问题,什么场景倾向 React,什么场景倾向 Vue ?

7266 次点击
所在节点    前端开发
65 条回复
SilentDepth
2019-07-24 14:13:42 +08:00
@luoway #20 作为开发人员,尝新、造轮子都是天性,或许不觉得一个工具、框架不稳定是大事。「又不是不能用」,对吧?但商业层面不是这么考虑的,不然不会有那么多主打隔离、锁定依赖的运维、部署方案了。Ant Design 的「下雪事件」,对开发人员算个事儿吗?不就是多了个背景图嘛,没影响内容没影响交互更没影响业务,甚至不用干预过一天自己就好了——但老板们也是这么想的吗?

Flutter 也好,Weex 也罢,总会有人用的,这也侧面证明社区对这些技术方案的肯定。但不算闲鱼、手淘,市面上还有多少公司在 production 或主营业务使用了这些方案呢?阿里敢用,是他们有遇到问题正面刚的底气,这个底气来自阿里累计多年的企业资源——而这世界能有几个阿里?

决定技术决策的,往往不是技术因素。

PS: 相比较 Weex,我更看好 NativeScript (
luoway
2019-07-24 14:36:12 +08:00
@SilentDepth #21 React 一直在创新,按你说的决策因素,结果往往就是上 Angular 了,毕竟老牌,大公司都在用。
但实际上,小公司更关心成本,这也是明明 Java 一统后端,PHP、Python、Go、Node 却更受小公司亲睐的原因。
murmur
2019-07-24 14:43:41 +08:00
因为 react native
murmur
2019-07-24 14:44:36 +08:00
@luoway 闲鱼只用了几个页面他就开始吹用 而且闲鱼不需要热更啊 别人直接上市场的东西可以频繁更新 企业应用对热更非常大 因为不上市场
SilentDepth
2019-07-24 14:57:39 +08:00
@luoway #22 我说的「稳定」不是说没有新特性了,而是「遇到问题有人管」。假如尤大「迫于生计」找了份 996 的工作,每天一睁眼不是老版的 deadline 就是孩子的学费,哪儿还有心情处理 Vue 的 issue 呢?从这个角度说,React 和 Angular 都不错,但二者的上手门槛显然是不同的,这个时候公司就得考虑招聘和用人成本的问题了。大公司要考虑,小公司尤甚。
visonme
2019-07-24 14:59:54 +08:00
有点难,从我们团队来说,真没有考虑过这个问题,就目前我们的产品来说 vue/react 都能很好的解决,而且没有碰到太多的困难,在这种情况下,确实很难说那个适用那个场景。因为早期接触 react,所以团队这块积累多点,所以一致桌面产品+移动 web 使用 react,国内小程序类应用目前采用 vue,部分产品的移动 web 基于 vue。

react 到 vue 问题并不大,也没有什么需要特别客服的困难,所以我们基本看那个好用,能个能快点让我们解决产品问题,我们就用那个,管它啥子场景呢,小微企业哪里要考虑那么多。
reus
2019-07-24 15:43:10 +08:00
vue3 都开始抄 react 了,还有啥好讨论的
vue3 那么像 react,那我直接用 react 不就得了
love
2019-07-24 15:51:15 +08:00
@reus 抄个鸟,还是响应式的核。另外因为不同于 react 纯函数方式,vue 版 hooks 实现比 react 版更好用了
loading
2019-07-24 15:53:12 +08:00
@love vue2 和 vue3 好迁移吗,我才开始学 vue2
love
2019-07-24 16:00:05 +08:00
@loading 一直是 react 党,还没用过 vue 呢(不太喜欢 vue 2 的编程方式)。只不过是这次见 vue 版的 hooks 设计不错以后想试试
reus
2019-07-24 16:01:54 +08:00
@love 你也知道说“ vue 版的 hooks ”,hooks 难道不是 react 先实现的?

响应式是抄 angular 的,我还没说呢。
murmur
2019-07-24 16:02:27 +08:00
@reus 如果能把 react 做到 jquery 一样简单,还能保留 react 一半甚至更多得优点,甚至加入了 react 都没有得好东西,为啥不用 vue
murmur
2019-07-24 16:03:11 +08:00
@reus 开源一大抄,上一个 angular 喷 vue 得已经被 google 开除了
reus
2019-07-24 16:06:10 +08:00
@murmur 你觉得 jquery 简单,那为啥不用 jquery,要用 vue ?

按你的说法,优点没了一半,多出来的所谓“好东西”,就能弥补损失了?
murmur
2019-07-24 16:07:23 +08:00
这么说把,越偏向内容展示或者企业用的办公系统,vue 优势越大,因为有模板引擎友好度不说秒杀把,和 react 也就差了个 jquery 的距离
越偏重 app 越偏向 sap 越考虑 react
有情怀无脑选 react,毕竟洋人的东西自带情怀,vue 多少年因为出身被 diss 来 diss 去的
murmur
2019-07-24 16:07:50 +08:00
@reus 我不需要的特性损失不损失与我何关?大家都需要选型的,没什么损失
reus
2019-07-24 16:09:01 +08:00
@murmur 呵呵,尤雨溪给 google 打小报告那次啊,真好意思提啊。尤雨溪推广 vue 时,可没少攻击 react 和 angular,换成别人攻击 vue 了,他就耍这种下作手段。

说实话,尤雨溪的道德水准,也是我鄙视 vue 的原因之一。
Rocka
2019-07-24 16:12:28 +08:00
@luoway #13 Vue 的条件处理也可以写在 template 里面 https://vuejs.org/v2/guide/conditional.html
难道 Vue 不是 “数据驱动视图” 吗
Vue 监听 data 或者 prop 的变动也是异步的,哪来的 “同步 setState ” 之说? https://vuejs.org/v2/guide/reactivity.html#Async-Update-Queue
而且 React 组件的 props 也是不能修改的 https://reactjs.org/docs/components-and-props.html#props-are-read-only
luoway
2019-07-24 16:53:27 +08:00
@Rocka #38
稍微复杂点的条件处理就不适合写在 template 里面,否则 template 冗长,会比 jsx 还难看。
同步 setState 是相对于 React 异步说的,this.val = val 就完成了 setState,监听、props 变动是异步的。
限制一样的话,那还是 Vue 好用啊
luoway
2019-07-24 16:55:12 +08:00
@reus #37 哈哈哈,瓜子板凳就绪,就喜欢看技术圈的非技术趣闻

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

https://tanronggui.xyz/t/585735

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

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

© 2021 V2EX