V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
woodytang
V2EX  ›  程序员

大家来聊聊 React 和 Vue3 在 2020 年 10 月这个时间点的选择

  •  1
     
  •   woodytang · 2020-10-09 16:30:59 +08:00 · 6863 次点击
    这是一个创建于 1510 天前的主题,其中的信息可能已经有所发展或是发生改变。
    React16 和 vue2 我都有长期使用
    Hook 出来后,加上有 ts 支持,感觉 React 把 Vue 秒成渣
    现在 Vue3 出来后,除了性能有提升,感觉没有太多原创性的东西,或者原创性和 react 不在一个量级,当然,vue 在自己的渲染机制下,对 react 提出来的新特性做出了一些优化。

    总的感觉就是,react 的设计哲学是紧贴 JavaScript 的,需要你 JavaScript 有深入的理解,而 vue 的设计思路,是让你忘记 Javascript,按照 vue 的语法糖,谁都可以快速上手,让你把精力放在业务上。

    所以 vue 就很受欢迎,因为 JavaScript 这个语言真的很难,神经病一样的难度,vue 可以绕开这个难度,马上上手干活。那些培训学校更加喜欢 vue,学 vue 就可以找到工作,如果让他们教 JavaScript,那简直要了老命了。有了培训学校的拼命推广,Vue 就更受欢迎了。

    但是随着前端工程师水平提升,更深入学习 Js 后,很有可能感觉到 vue 本身设计没错,但是由于自己掌握了 JavaScript 核心原理了,vue 一些设计和黑魔法就显得多余了,不如直接写 js 来得方便。

    从这点上,我个人实际的经验,React 的项目维护性要稍微好点,但是团队选型,要慎重,对 js 还是有些要求的。
    47 条回复    2020-10-10 15:43:49 +08:00
    0bit
        1
    0bit  
       2020-10-09 16:41:52 +08:00
    没必要一捧一踩,容易变成站队互喷贴。

    各有优缺点吧,Vue 上手确实会更容易些,不过我也更喜欢 React 。
    chenpingan
        2
    chenpingan  
       2020-10-09 16:44:06 +08:00
    react 配合 hook 是真的很好用
    dcalsky
        3
    dcalsky  
       2020-10-09 16:47:08 +08:00   ❤️ 1
    但凡玩过几年前端,react 和 vue 都可以随意切换着写吧?项目选择的话看成员投票就行了,都很好。但是 vue3 还要观望,生态没跟上。
    anjianshi
        4
    anjianshi  
       2020-10-09 16:51:54 +08:00   ❤️ 3
    个人感觉,React 就像王者荣耀里的露娜,上手不容易,玩好更难,但上限很高,真的玩好了会非常秀。
    Vue 就有点像亚瑟,上手容易,但上限不高,即使再熟练,也搞不出太秀的操作。

    从团队角度:
    - 团队技术水平高,代码规范,用 React 更灵活。
    - 团队技术水平一般,用 Vue 更保险,出 bug 几率低点,也不容易写出很难维护的代码。

    从个人角度:
    - 使用 React 的同时也是在加深自己对编程、函数式等等概念的理解,提升思考能力。慢慢的会有所积累和成长。
    - 而使用 Vue 一般能更快完成任务。但是个人感觉在技术方面的成长有限。
    gowk
        5
    gowk  
       2020-10-09 16:57:29 +08:00 via Android   ❤️ 11
    来了,来了,他们又来了
    momowei
        6
    momowei  
       2020-10-09 16:57:32 +08:00
    跟人有关系,不过中国肯定 vue 压倒性 react,除了那几个大厂
    clf
        7
    clf  
       2020-10-09 17:06:03 +08:00
    菜鸡前端谈一谈对两个框架的理解:Vue 的特点是它帮你做了很多东西,开发的时候主要关注业务的实现,上手开发比较容易; React 则是相对比较简单但很灵活,自己想实现一些功能就需要造轮子或者用别人写好的轮子,所以 React 的轮子贼多。

    前端的编程思想基本都有一定的共性,两个框架各有千秋,选择看公司团队水平和项目需要。
    freak118
        8
    freak118  
       2020-10-09 17:12:41 +08:00   ❤️ 1
    vue 能火就是因为一个原因 这个框架能让 30 分水平的人写出 60 分的代码
    woodytang
        9
    woodytang  
    OP
       2020-10-09 17:14:58 +08:00
    @0bit 没有贬低 vue 的意思,整体设计上,vue2 打不过 react16.8 是事实,vue3 是和 react16.8+ 是同级的,只是觉得这个话题经常被聊到,我想把观点表达得更直接点,不站队,两个框架我都会在不同场景下选择使用
    9ki
        10
    9ki  
       2020-10-09 17:15:14 +08:00   ❤️ 1
    vue3 的 hooks 心智负担比 React 低,如果喜欢 hooks 更推荐 vue3,当然现在 vue3 生态不太行,vue router, vuex, andv 也还在 beta,如果对生态有要求还是推荐 react
    当然,我选 vue3
    PhpBestRubbish
        11
    PhpBestRubbish  
       2020-10-09 17:15:52 +08:00
    争论这些东西有用吗?我一个搞 PHP 的,vue react 照样会玩。
    "远古"时期的 Angular 那么屌,现在还有人用吗?
    9ki
        12
    9ki  
       2020-10-09 17:18:00 +08:00
    @9ki 放杠补丁:vue3 和 react 的 hooks 不是同一套东西,只是形式一样
    woodytang
        13
    woodytang  
    OP
       2020-10-09 17:29:33 +08:00
    @PhpBestRubbish 没争没争,快下班了,摸鱼胡侃一下,话说 Laravel 和 vue 是一个调调,流行的原理都差不多,当年 vue 就是在 laravel 社区发家的。
    Laravel 之所以能活到现在,就是因为它把自己搞得和 php 没什么关系了
    woodytang
        14
    woodytang  
    OP
       2020-10-09 17:36:07 +08:00
    @9ki react 的 hooks 心智负担 现在大家都在讨论这个,,但是我很怀疑这个命题本身。
    vue3 精准渲染,拿对象存状态,react 暴力刷新加钩子, 但是我觉得 react 这种方式更原生,你理解它就是这样设计的,就没什么负担

    就好比,数据库更新,你说是清空重新填充负担大,还是增量更新负担大,我觉得第一个逻辑简单开销大

    说到底,react 和 vue 核心就是 immutable 和 reactive 的区别
    gouflv
        15
    gouflv  
       2020-10-09 17:38:42 +08:00 via iPhone
    记得 vue3 说要改进模版对 ts 的支持?想想还是有点小期待
    crclz
        16
    crclz  
       2020-10-09 18:05:18 +08:00
    angular
    wxsm
        17
    wxsm  
       2020-10-09 18:13:26 +08:00 via iPhone
    Vue3 的 block tree 和 vite 是 react 没有的。并且由于 jsx 的高度自由性,react 可能无法实现 block tree 级别的优化。
    wxsm
        18
    wxsm  
       2020-10-09 18:15:05 +08:00 via iPhone
    @gowk 前端的这种对比很常见,也很正常。没必要带节奏。
    VDimos
        19
    VDimos  
       2020-10-09 18:23:55 +08:00 via Android
    真的月经贴吗,每个月都发。。。
    wanguorui123
        20
    wanguorui123  
       2020-10-09 18:25:33 +08:00 via iPhone
    现在前端概念太多,感觉搞复杂了。虽然我在用 React 和 Vue,有点背离 Web 设计原则的初心
    wxsm
        21
    wxsm  
       2020-10-09 18:26:15 +08:00
    不过要论目前的选择的话,企业级项目肯定是选 React,不因为别的,就因为 Vue3 才发布没多久。
    kanepan19
        22
    kanepan19  
       2020-10-09 18:38:37 +08:00
    @anjianshi
    Vue 好歹要比喻成赵云啊
    love
        23
    love  
       2020-10-09 18:41:57 +08:00
    说得好象 vue3 没 hook 一样,而且 vue 版 hook 更易用。
    可惜 vue3 不是以 hook+tsx 为中心,让 react 党不爽了,如果 vue 能出二种版本就好了(之间 yyx 似乎有这打算,被用户喷自闭了,所以说大量低级用户会绑架框架设计
    ming61177
        24
    ming61177  
       2020-10-09 18:46:42 +08:00
    @kanepan19 对不起比不了,首充得 6 元
    typetraits
        25
    typetraits  
       2020-10-09 19:17:53 +08:00
    都学,能用起来又不难
    想精通慢慢研究呗
    murmur
        26
    murmur  
       2020-10-09 19:21:36 +08:00
    越偏 app 越选 react,反之选 vue
    KuroNekoFan
        27
    KuroNekoFan  
       2020-10-09 19:21:55 +08:00
    vue 爱好者真的会迁移到 jsx/jsx like 的东西上吗?我看不会,既然不会迁移到 jsx,那 hooks/hooks like 也就是一句空谈
    JimmyChange
        28
    JimmyChange  
       2020-10-09 19:22:10 +08:00
    基本上,所有技术选择最终都是一个原则:跟着社区走
    mxT52CRuqR6o5
        29
    mxT52CRuqR6o5  
       2020-10-09 19:28:43 +08:00 via Android
    个人喜好
    React with hooks/vue3(互有优势) > vue2 > react without hooks
    lin07hui
        30
    lin07hui  
       2020-10-09 19:40:05 +08:00
    看你好像很有空,丢你一个没用过的框架: https://github.com/digi1874/digi
    mooyo
        31
    mooyo  
       2020-10-09 19:43:43 +08:00
    来了来了..
    revalue
        32
    revalue  
       2020-10-09 22:38:44 +08:00
    很多公司不是由着你 而是由老板决定
    virtuemartau
        33
    virtuemartau  
       2020-10-09 22:47:47 +08:00 via Android
    IanHo
        34
    IanHo  
       2020-10-09 23:06:43 +08:00
    Vue3 的发展还需要时间
    xieren58
        35
    xieren58  
       2020-10-09 23:15:09 +08:00
    svelte 用了几个月, 感觉很爽
    JerryCha
        36
    JerryCha  
       2020-10-09 23:30:35 +08:00
    jQuery 天下第一
    JavaScript 不难,JavaScript 只是傻逼。毕竟别的语言算不出 11-[1] 这种表达式
    rf99wSiT6IxH1Z23
        37
    rf99wSiT6IxH1Z23  
       2020-10-09 23:42:25 +08:00
    能下沉吗?感觉都是容易引战,只看了下 vue 官方文档,我会一直用 react 的😁
    mwVYYA6
        38
    mwVYYA6  
       2020-10-09 23:57:37 +08:00 via Android
    我已经很久 react 一把梭了,不过最近找工作发现要求用 vue 和小程序的更多。

    吐个槽:要是前端只有一种框架就好了,搞一堆相同功能的框架,学得烦。
    BarZu
        39
    BarZu  
       2020-10-10 08:35:35 +08:00
    大神们都在默默看笑话,菜鸟们还为自己站哪个框架沾沾自喜
    xianxiaobo
        40
    xianxiaobo  
       2020-10-10 09:11:36 +08:00
    vue 设计导致前端太简单,导致楼主没有优越感,还好 react 比较难,让楼主又找回了优越感。
    darknoll
        41
    darknoll  
       2020-10-10 09:12:24 +08:00
    看招聘要求呗,想去的公司只要 vue 或者 react,就按要求学呗。有啥好不好的。
    lemon6
        42
    lemon6  
       2020-10-10 09:58:18 +08:00
    难道不是两者都要会吗
    no1xsyzy
        43
    no1xsyzy  
       2020-10-10 10:41:40 +08:00
    要说直接写 JS 我只认 Svelte (
    话说有没有类似 html`<div>${dynamic_value}</div>`.mount('#app') 的框架?
    kamilic
        44
    kamilic  
       2020-10-10 10:58:35 +08:00
    虽然 vue 3 是有 composition API 了,但是我还是得用 <script> <style> <template> 就感觉有些不爽 😂,可能是因为用过 hook 以后再接触这个,让我感觉有点别扭,没有 jsx 那种一把梭的感觉。

    我是觉得只要有规范的项目,维护性都不会差啦。
    不过 react 的作案成本比 vue 是要低一点的(指搞事方面,毕竟更贴近 js ) 🤣
    rodrick
        45
    rodrick  
       2020-10-10 14:44:19 +08:00
    工具而已。。哪个能挣钱选哪个,要是 react 学会一个月能比 vue 让我多挣多两万块我能把 react 吹上天,不能的话就都学学吧,需要你用什么工具就用什么不好么 怎么拧螺丝不是拧
    speedofstephen
        46
    speedofstephen  
       2020-10-10 14:49:29 +08:00
    我是做 Java 的,所接触到前端工作仅限于管理后台。我选择 React 原因就是在我个人认为 Vue 生态里的组件库都没有 AntD 好用。
    RRRSSS
        47
    RRRSSS  
       2020-10-10 15:43:49 +08:00   ❤️ 1
    Angular 连都不值得提一下么。。

    我觉得 React 就是在走 Angular 的路啊,TS 、状态管理、脚手架等等,NG 都有最佳实践,不像 React 都是社区的,让我有选择恐惧症。

    我就是想写个小项目,配置花了一晚上,然后把项目脚手架搭好了,半年后 router 更新了,webpack 更新了,得,又再来一次。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4165 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 86ms · UTC 05:24 · PVG 13:24 · LAX 21:24 · JFK 00:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.