非引战。我关心的是应用场景问题,什么场景倾向 React,什么场景倾向 Vue ?
1
Hyvi 2019-07-24 12:27:13 +08:00 via Android
找虐
|
2
luoway OP 我认为如果业务涉及各种小程序的话,Vue 更合适,因为小程序都抄的微信小程序,微信小程序又是类似 Vue SFC (单文件组件)的结构。Vue 在语法层面的相似性高,因此更合适。
|
3
wunonglin 2019-07-24 12:36:40 +08:00
要自虐学 angular,要简单学 vue,react 这东西实在想不出什么场景是非 react 不可的
|
4
nwu2Cv8OZ2MZMg39 2019-07-24 12:40:02 +08:00
好找工作
|
5
luoway OP @VikingX #4 我就是看到某不知名公司招人( React 优先)有感而发的,站在公司角度决策,毫无疑问 Vue 好招人
不过看了下这家公司业务范围,并不涉及移动端,所以 React/Vue 对其没有啥区别,React 也许更适合复杂后台系统? |
6
DOLLOR 2019-07-24 12:52:03 +08:00 via iPhone
大量表单可能双向绑定的 vue 更方便。
这两个都很简单,当然 react 相对更简单,选谁都差不多。 |
7
abcbuzhiming 2019-07-24 12:54:47 +08:00
@luoway 我觉得你想多了,很可能他们公司因为历史原因就是 React 占优势,所以招人自然走 React。好比后端有点年头的公司都招 java,比较年轻的公司喜欢 go,你觉得谁比谁好一些吗?
真要说场景,React 诞生就是为了对付交互特别多的场合——非死不可家的社交。所以它的状态能力独树一帜,比较适合做 IM。angular 则是玩表单的。Vue 现在看是想法比较中庸的 MVVM 框架 |
8
nyaapass 2019-07-24 13:01:15 +08:00 via iPhone
在 vue3 出来之前,react 对 typescript 的支持更好
|
9
SilentDepth 2019-07-24 13:08:50 +08:00
早些时候选择的 React 的理由很简单:背景是一个大型商业公司。当然简单也是一个重要因素(相对 Angular 而言)。
后来的理由就是市场了,也就是好不好找工作 /人。 |
10
Danswerme 2019-07-24 13:10:47 +08:00 via Android
有大公司背书
|
11
nwu2Cv8OZ2MZMg39 2019-07-24 13:14:18 +08:00 via Android
@luoway 有些公司就是对 React 情有独钟,掌握两个框架可以让我的选择面广一些,我是这样想的。
|
12
nwu2Cv8OZ2MZMg39 2019-07-24 13:17:55 +08:00 via Android
@luoway 选什么框架更多时候是由团队决定的而不是个人
|
13
luoway OP @abcbuzhiming #7 那家历史就 2 年。
“交互多”确实是个 Vue 不方便处理的地方,vue 在写条件渲染时,条件处理写在 script 里,渲染结果写在 template 里,相关代码相隔有点远,不如 React 在条件分支中返回模版简洁。 但是换一种“数据驱动视图”思路,先把视图写好,按数据渲染,也清晰明了。 状态管理我感觉确实 React 确实更好,Vue 为了使用方便,保持同步 setState,同时增加使用限制,如不能 set props,开发中经常有“此路不通,请绕道”的感受 |
15
luoway OP |
16
nwu2Cv8OZ2MZMg39 2019-07-24 13:34:53 +08:00 2
@luoway 招聘要求 React,很多时候是为了避免“坑”,毕竟现在培训出来的,人人都会 Vue。就我们公司来说,一是团队负责人讨厌 Vue,二来我们要上 TS,三是前端团队都写过 React ;自然也就选 React 了。
|
17
SilentDepth 2019-07-24 13:49:25 +08:00
@luoway #15 其实背后是不是一个团队倒在其次,关键是看这个框架的维护是否有稳定的物质支持。毕竟人都是要吃饭的,用爱也许可以发电,但毕竟不能当饭吃。比如 core-js,万一哪天作者撂挑子或被迫撂挑子了,而你的业务重度依赖它,尴尬不尴尬?这也是为什么 Vue 早期很有讨论度,但公司产品层面接受度不高的原因——人家凭什么相信 Vue 能稳定支撑公司业务发展?
技术层面上,Vue 和 React 现在没什么秒杀彼此的区别,至多也就是一种倾向、习惯的事儿。团队成长上,双方都有不少浑水摸鱼的,就看团队在哪个框架上更有去伪存真的能力。 |
18
ylsc633 2019-07-24 13:55:27 +08:00
antd 比 elementUI 好看..
vue 的 antd 版本 好像是不久前合进来的.. iview 把 vue 封装的有点过.. 反正无所谓 毕竟我又不是前端 |
19
leojoy710 2019-07-24 13:57:44 +08:00
因为 React 推动创新, 去看看最近的 React 吧, 已经上线的 Fiber, Hooks, 还有正在做的 Concurrent Mode, Flare, 都是非常有意义的创新.
|
20
luoway OP @SilentDepth #17 前端框架层出不穷,是否稳定其实是持开放态度的,比如 Flutter,可预见的未来都不支持热更新,也不影响闲鱼拿它在生产环境使用,比如 weex,迭代缓慢,偶尔传言不维护,但却是 Vue 派最有效的跨端解决方案。
|
21
SilentDepth 2019-07-24 14:13:42 +08:00
@luoway #20 作为开发人员,尝新、造轮子都是天性,或许不觉得一个工具、框架不稳定是大事。「又不是不能用」,对吧?但商业层面不是这么考虑的,不然不会有那么多主打隔离、锁定依赖的运维、部署方案了。Ant Design 的「下雪事件」,对开发人员算个事儿吗?不就是多了个背景图嘛,没影响内容没影响交互更没影响业务,甚至不用干预过一天自己就好了——但老板们也是这么想的吗?
Flutter 也好,Weex 也罢,总会有人用的,这也侧面证明社区对这些技术方案的肯定。但不算闲鱼、手淘,市面上还有多少公司在 production 或主营业务使用了这些方案呢?阿里敢用,是他们有遇到问题正面刚的底气,这个底气来自阿里累计多年的企业资源——而这世界能有几个阿里? 决定技术决策的,往往不是技术因素。 PS: 相比较 Weex,我更看好 NativeScript ( |
22
luoway OP @SilentDepth #21 React 一直在创新,按你说的决策因素,结果往往就是上 Angular 了,毕竟老牌,大公司都在用。
但实际上,小公司更关心成本,这也是明明 Java 一统后端,PHP、Python、Go、Node 却更受小公司亲睐的原因。 |
23
murmur 2019-07-24 14:43:41 +08:00
因为 react native
|
24
murmur 2019-07-24 14:44:36 +08:00
@luoway 闲鱼只用了几个页面他就开始吹用 而且闲鱼不需要热更啊 别人直接上市场的东西可以频繁更新 企业应用对热更非常大 因为不上市场
|
25
SilentDepth 2019-07-24 14:57:39 +08:00
@luoway #22 我说的「稳定」不是说没有新特性了,而是「遇到问题有人管」。假如尤大「迫于生计」找了份 996 的工作,每天一睁眼不是老版的 deadline 就是孩子的学费,哪儿还有心情处理 Vue 的 issue 呢?从这个角度说,React 和 Angular 都不错,但二者的上手门槛显然是不同的,这个时候公司就得考虑招聘和用人成本的问题了。大公司要考虑,小公司尤甚。
|
26
visonme 2019-07-24 14:59:54 +08:00
有点难,从我们团队来说,真没有考虑过这个问题,就目前我们的产品来说 vue/react 都能很好的解决,而且没有碰到太多的困难,在这种情况下,确实很难说那个适用那个场景。因为早期接触 react,所以团队这块积累多点,所以一致桌面产品+移动 web 使用 react,国内小程序类应用目前采用 vue,部分产品的移动 web 基于 vue。
react 到 vue 问题并不大,也没有什么需要特别客服的困难,所以我们基本看那个好用,能个能快点让我们解决产品问题,我们就用那个,管它啥子场景呢,小微企业哪里要考虑那么多。 |
27
reus 2019-07-24 15:43:10 +08:00 1
vue3 都开始抄 react 了,还有啥好讨论的
vue3 那么像 react,那我直接用 react 不就得了 |
28
love 2019-07-24 15:51:15 +08:00
@reus 抄个鸟,还是响应式的核。另外因为不同于 react 纯函数方式,vue 版 hooks 实现比 react 版更好用了
|
30
love 2019-07-24 16:00:05 +08:00 2
@loading 一直是 react 党,还没用过 vue 呢(不太喜欢 vue 2 的编程方式)。只不过是这次见 vue 版的 hooks 设计不错以后想试试
|
31
reus 2019-07-24 16:01:54 +08:00
|
32
murmur 2019-07-24 16:02:27 +08:00
@reus 如果能把 react 做到 jquery 一样简单,还能保留 react 一半甚至更多得优点,甚至加入了 react 都没有得好东西,为啥不用 vue
|
34
reus 2019-07-24 16:06:10 +08:00
|
35
murmur 2019-07-24 16:07:23 +08:00
这么说把,越偏向内容展示或者企业用的办公系统,vue 优势越大,因为有模板引擎友好度不说秒杀把,和 react 也就差了个 jquery 的距离
越偏重 app 越偏向 sap 越考虑 react 有情怀无脑选 react,毕竟洋人的东西自带情怀,vue 多少年因为出身被 diss 来 diss 去的 |
37
reus 2019-07-24 16:09:01 +08:00 5
@murmur 呵呵,尤雨溪给 google 打小报告那次啊,真好意思提啊。尤雨溪推广 vue 时,可没少攻击 react 和 angular,换成别人攻击 vue 了,他就耍这种下作手段。
说实话,尤雨溪的道德水准,也是我鄙视 vue 的原因之一。 |
38
Rocka 2019-07-24 16:12:28 +08:00 1
@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 |
39
luoway OP @Rocka #38
稍微复杂点的条件处理就不适合写在 template 里面,否则 template 冗长,会比 jsx 还难看。 同步 setState 是相对于 React 异步说的,this.val = val 就完成了 setState,监听、props 变动是异步的。 限制一样的话,那还是 Vue 好用啊 |
41
zwithz1998 2019-07-24 17:02:21 +08:00 via iPhone
@reus #37 对事不对人
|
42
reus 2019-07-24 18:08:46 +08:00
@zwithz1998 我才不信奉你这种无聊的信条
|
43
SilentDepth 2019-07-24 18:13:02 +08:00 1
|
44
chairuosen 2019-07-24 18:27:01 +08:00
vue 做了很多隐式的处理,你无法修改。当你需要写一些写法奇怪的代码时,和这些隐藏的逻辑冲突了,就会出 BUG。
react 把所有事情放在明面上,简陋也简单。所有流程节点都是可控的,出问题有把握能修。 |
45
yl666 2019-07-24 18:44:05 +08:00
对于我这个后端来说 react+飞冰=爽
|
46
momocraft 2019-07-24 18:49:10 +08:00 1
上限高
和 ts / ide 兼容好 尬吹的队友少 |
47
gouflv 2019-07-24 21:39:22 +08:00 via iPhone
小孩子才做选择
|
48
reus 2019-07-24 22:18:12 +08:00
@SilentDepth 滚一边去吧您。
|
49
q8164305 2019-07-24 22:45:07 +08:00 via Android 1
我一开始也写 vue,后面越来越喜欢 react,因为很纯粹,react 只是做了一件事,就是渲染,而没有做太多事,我觉得就够了,vue 封装了太多东西,复杂交互根本没法写
|
50
beyond99 2019-07-24 23:02:26 +08:00 via Android
v 站真的很奇怪,我的几个号都因为不知道什么原因封了,可是楼里某个喷子 id 我已经眼熟了,还活的好好的
|
51
fool079 2019-07-25 10:01:48 +08:00
|
52
SilentDepth 2019-07-25 10:05:32 +08:00
@reus #48 如果你确实想讨论问题,请列举出能支持你在本主题所言观点的证据,证据有效我向你道歉。如果你无意讨论问题并且毫无道理地拒绝反驳,请闭嘴。
|
53
reus 2019-07-25 10:11:22 +08:00
@SilentDepth 你一开口就是“「造谣一张嘴」,望自重”,为什么你会认为我想和你讨论问题?明明是你自己先人身攻击我,居然还有脸和我说“讨论问题”?!你说我造谣,列举证据的居然是我,而不是你?!
走开,我不想继续和你这样的人进行任何交流。 |
54
SilentDepth 2019-07-25 10:31:41 +08:00
@reus #53 「尤雨溪推广 vue 时,可没少攻击 react 和 angular,换成别人攻击 vue 了,他就耍这种下作手段。」如果你不认为这句话是造谣,请举证。
|
55
luoway OP @q8164305 #49
@fool079 #51 确实,vue 封装了很多东西,单文件组件解决了组件如何管理的问题、css in js 无需多想,template 则是对 HTML 加强,组件方案近似 Web Component。这些都很符合传统前端的开发方式。 React 的 all in js 风格,对于非传统前端来说更友好,虽然同样要学 HTML、CSS、JS 三件套,但是 JS 可以完全控制 HTML、CSS 部分,逻辑入口清晰。 感觉 Vue 虽然轻量,但是加入了很多开发常见需求的解决方案,做到了开箱即用的便利性。React 则好像有很多解决方案,所以有“全家桶”的说法。二选一时,Vue 开箱即用能够吸引不少新人。 |
56
hoshizukiko 2019-07-25 10:45:08 +08:00 1
都在用,公司比较偏向 react 一些…… so,公司用啥我用啥。jq 都行。
|
57
mingtianjiayou 2019-07-25 10:59:37 +08:00
react 有写代码的感觉,vue 写着没感觉,可能太简单了
|
58
zhwithsweet 2019-07-25 11:04:54 +08:00
@SilentDepth #47 你知道尤雨溪在前端圈多遭人“恨”,同样是做框架,为啥 yyx 就能成呢?🐶
|
59
royzxq 2019-07-25 11:08:27 +08:00
目前,React 对 ts 的支持度比 vue 好太多
|
61
murmur 2019-07-25 11:31:10 +08:00 1
@zhwithsweet
1、各种框架设计总考虑所谓 geek 的特性,但是 vue 是站在人性化的角度考虑 2、vue 站在巨人的肩膀上,继承了各框架的有点 3、vue 在宣传的时候大量使用了数据说话,你说我不行我给你性能比较,你说我一个人不靠谱我给你看 bug 修复速度 4、市场需要,切图仔不需要高端特性,高阶组件可以没有,state 可以不要事件就行,但是模板引擎必须强大,react 这种 if 和 for 都得用语法糖的在切图仔眼里直接就是负分 |
62
SilentDepth 2019-07-25 11:34:45 +08:00
@zhwithsweet #58 Angular 和 React 相比传统 Web 开发的变化是颠覆的,但 Vue 就提供了相对平滑的演进曲线,不「成」才怪。Vue 3 的曲线陡了一点,但依然可以几乎零成本地迁移已有代码库,不「成」才怪。
|
63
SilentDepth 2019-07-25 11:39:17 +08:00 1
@murmur #61 说的在理。Angular 告诉你一个框架可以掌管整个工程,React 告诉你用 JS 函数就能实现灵活多变的视图,Vue 告诉你开发一个 Web App 可以很省心。
|