V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
YugenFring
V2EX  ›  程序员

不懂前端, 如何用后端框架来形容 vue 和 react 的区别?

  •  
  •   YugenFring · 2024-03-21 10:47:04 +08:00 · 5313 次点击
    这是一个创建于 372 天前的主题,其中的信息可能已经有所发展或是发生改变。

    看有人说 vue 是自动档, react 是手动挡, 但还是没啥概念.

    有没有有理解的大哥能用后端框架之间的开发差异来形容 vue 和 react 之间的差异.

    目前想学个前端, 虽然有人说两个迟早都要学, 但肯定专 1 个比较好.

    至于对于新手出活快不快不考虑, 英文文档之类的也不考虑, 学习曲线也不考虑.

    想听听各位的看法.

    37 条回复    2024-03-22 10:44:38 +08:00
    5200
        1
    5200  
       2024-03-21 10:49:16 +08:00   ❤️ 1
    PHP 和 Go 的区别? 国内话还是 vue 开始吧,轮子多点
    BaiShuiO
        2
    BaiShuiO  
       2024-03-21 10:54:45 +08:00
    react 近原生,vue 做了适合中国体制宝宝的优化
    BaiShuiO
        3
    BaiShuiO  
       2024-03-21 10:56:18 +08:00
    @BaiShuiO 体质
    NessajCN
        4
    NessajCN  
       2024-03-21 11:00:17 +08:00
    如果你有正常的英文阅读能力的话就别去考虑 vue 了
    nomagick
        5
    nomagick  
       2024-03-21 11:02:55 +08:00
    一丘之貉
    nomagick
        6
    nomagick  
       2024-03-21 11:03:37 +08:00   ❤️ 5
    React 就是 PHP 在 js 世界的秽土转生
    Vue 就是 易语言
    nitmali
        7
    nitmali  
       2024-03-21 11:04:42 +08:00
    单纯讲开发,可以把 react 看作类似于 jsp
    estk
        8
    estk  
       2024-03-21 11:05:42 +08:00 via iPhone
    如果你长期国内发展就用 vue ,我看国内招聘 vue 比较多
    海外的话还是 react 吧
    AItsuki
        9
    AItsuki  
       2024-03-21 11:07:42 +08:00 via iPhone   ❤️ 1
    vue. hybernate

    react mybatis
    zephyru
        10
    zephyru  
       2024-03-21 11:13:19 +08:00
    这两框架最后写法其实都差不多,不过 vue 的写法很多小程序也是那么设计的(概念类似),国内可能 vue 应用的确更广一些
    isbase
        11
    isbase  
       2024-03-21 11:17:43 +08:00
    选 React 不会错
    YugenFring
        12
    YugenFring  
    OP
       2024-03-21 11:22:12 +08:00   ❤️ 1
    @AItsuki 咋感觉说反了, vue 听起来封装更多
    LavaC
        13
    LavaC  
       2024-03-21 11:31:44 +08:00
    写熟了都没啥区别。不过 Vue 有很多省代码的语法糖,.vue 文件也方便把 html 、css 、js 组织到同一处,确实方便。
    但是要推荐的话还是推荐 React ,生态会更丰富一些。
    angrylid
        14
    angrylid  
       2024-03-21 11:31:46 +08:00   ❤️ 6
    我认为这种不知所谓的类比对于做决策并没有任何帮助,你怎么不用男女的差异来形容呢。
    楼上竟然还真的在那里类比,多少有点幽默了。

    Vue 和 React 做的事情是一样的,是响应式和工程化。
    你是什么技术背景,是后端还是客户端还是别的什么?你要做什么,是想独立开发,接海外 remote 还是单纯扩展技术栈?这才是提问题的时候应该提供的前提条件。
    qiayue
        15
    qiayue  
       2024-03-21 11:32:41 +08:00
    react 的 next.js 框架,给我感觉是 php+pjax+数据绑定
    sheeta
        16
    sheeta  
       2024-03-21 11:32:50 +08:00
    你要能接受在 js 里面写 html 就选 react ,https://www.jianshu.com/p/a6e38de29807
    me1onsoda
        17
    me1onsoda  
       2024-03-21 11:33:50 +08:00
    go 里面的 gin 和 beego?
    v2newuser
        18
    v2newuser  
       2024-03-21 11:54:06 +08:00
    拿 kfc 做比较的话:vue 是个全家桶套餐; react 是你自己单点炸鸡、可乐、汉堡这些。
    skies457
        19
    skies457  
       2024-03-21 12:28:53 +08:00   ❤️ 5
    很难理解为什么总是有像楼里的某些人那样觉得前端框架或者整个前端领域很“低级”。。都是用来打工的技术饭碗,倒也没必要互相看不起

    vue 和 react 核心区别主要是 dirty check 的原理不一样,采用 proxy 的 vue 要比采用 dom diff 的 react 性能[更好一些]( https://krausest.github.io/js-framework-benchmark/2024/table_chrome_122.0.6261.69.html),逻辑上也相对容易理解( vue 只 rerender 改动的部分),所以建议新手可以从 vue 开始学

    如果你非常介意 vue 的 sfc 语法,那推荐你学集两者之长的 solid.js ,表面上是 react jsx 语法,核心是类似 vue 的逻辑,这框架在上面的 benchmark 跑得比 vue 和 react 都要快
    CHTuring
        20
    CHTuring  
       2024-03-21 13:06:16 +08:00
    1 、不懂前端
    2 、后端开发
    3 、国内

    那么答案只有一个:Vue ,等你前端了解够了你自己就知道差异。
    Makabaka01
        21
    Makabaka01  
       2024-03-21 13:17:28 +08:00
    React 有很多反直觉的东西,不懂前端建议直接 Vue2
    ychost
        22
    ychost  
       2024-03-21 13:52:53 +08:00   ❤️ 1
    React 有个好处就是基于它的 UI 框架啥的特别多,VUE 基本是二等公民
    Mark24
        23
    Mark24  
       2024-03-21 14:10:40 +08:00   ❤️ 2
    Vue -> Django 全家庭,设计范围内工作的很好,想搞事情,需要对抗框架
    React -> Flask 有一个核心,剩下自己搞灵活
    Mark24
        24
    Mark24  
       2024-03-21 14:10:53 +08:00
    全家庭 -> 全家桶
    potatowish
        25
    potatowish  
       2024-03-21 14:17:20 +08:00 via iPhone
    通后端,不排斥英文文档的前提下,建议选 React
    Hilong
        26
    Hilong  
       2024-03-21 14:35:04 +08:00
    如果我推荐后端的入门的话,肯定是 vue 比较好。因为更快能出活,并且在你的立场下,也不需要去关注这两个框架哪个更好,你只需要关心哪个能更快出活就行。在我来看,国内 99% 的项目,都不需要关心要选哪个框架。所以更容易上手的 vue 就天然有优势
    NerbraskaGuy
        27
    NerbraskaGuy  
       2024-03-21 15:18:42 +08:00
    一般问这种问题的我都推荐 vue ,因为看文档和原理就能明白差异的事情都懒得研究,那就用 vue 这种能快速上手的
    clue
        28
    clue  
       2024-03-21 15:23:43 +08:00   ❤️ 1
    其实吧, 两个功能都很强, 社区资源也都足够, 最大的差别在低层设计, 可以参考下 #19 说的

    React
    - 纯 UI 层 ( 数据层更多的交给其它社区框架做 )

    Vue
    - UI + Model, 集成响应式

    两个我都开发过, 说说目前的个人感觉, vue 3 的潜力比 react 要好

    看现在流行的新框架也能看出来, 大家都在往 细粒度、响应式 上走 ( Signal / effect )

    有些人会觉得响应式没管理好很难 debug, 我想说的是, 代码组织得不好, 用什么框架都有一样的问题;
    cnuser002
        29
    cnuser002  
       2024-03-21 15:30:24 +08:00   ❤️ 1
    Vue 和 React 都是前端工程化时期诞生的开发框架。
    前端工程化,指的是前端从做网页,变成做 Web APP ,也就是跑在浏览器里的客户端。

    但因为 Html 、CSS 、JS 这三东西本来是开发网页用的,用来编写客户端并不方便。所以就出现了专门为 Web APP 或者叫单页应用开发的方案。

    React 是其中最激进的,它架空了 Html 和 CSS ,全部在 Javascript 里面写组件,组件拼接成应用。并且搞出了一套根据组件 state 状态改变,更新视图的所谓数据驱动的思路。按照它的思路去开发 Web APP ,许多问题就迎刃而解。
    但同时也产生了许多新的开发需求,比如状态的维护,跨组件引用、路由等等,这些由各路开发者为之开发插件来解决。

    Vue 是一个折中的方案。最早的 Vue 只是为了在普通的 Html 网页中,增加一些根据数据驱动的活动组件。它对网页开发向
    Web APP 转变的过渡期是很好的抓手。

    后来 Vue 也确定了一种由 template 、script 、style 组成的单文件格式,同样的通过编写拼接 Vue 组件,实现类似 React 的全组件化 Web APP 。
    相比 React ,Vue 的状态维护、路由等模块是有官方版的,跟本体连接紧密,所以按照 Vue 开发指导文档,上手开发应用

    另外,分久必合合久必分。这俩出现的时候,是有取代 Php 那种后端写网页模板做应用的趋势的。可是发展到今天,现在这俩也都有后端写应用的版本。

    具体学哪个都可以,

    我个人推荐 Vue 。因为我是先学的 React 再学的 Vue ,React 太自由反而难驾驭,理解不到位,容易写出似是而非的东西。

    Vue 基本上就没有这个问题。
    johnmichael09
        30
    johnmichael09  
       2024-03-21 15:32:43 +08:00
    Vue:就像是用乐高积木搭建,简单、快速,有很多现成的部件可以用,快速构建出你的应用
    React:就像是用钢筋混凝土搭建,更强大和灵活,但可能需要更多的工作和细节管理
    clue
        31
    clue  
       2024-03-21 15:41:38 +08:00   ❤️ 1
    有点忘了 OP 问的初衷了, 前端因为复杂度在这里, 后端很难有对比的
    前端能为了开发效率做的性能妥协, 在后端非常少见

    这样类比下吧

    React
    - 每次数据变化都重新渲染 DOM, 用一个中间层来缓存做结果对比, 后续只更新差异部分
    - 数据比较复杂时一般都用第三方框架, 然后调用 React 重新渲染

    Vue
    - 只渲染一次 DOM, 然后监听了数据源, 当数据源变化时, 把它相关的依赖项重新跑一次( 其中就包含了对应 DOM 的更新 )

    另外因为 Vue 是全家桶, 所以在技术选型上没有 React 那样杂, 可以很简单起步
    nzbin
        32
    nzbin  
       2024-03-21 17:29:12 +08:00
    Java 、C# == Angular (推崇面向对象、门槛高、学习曲线先陡再缓)
    PHP == Vue 、React (推崇函数式、门槛低、学习曲线先缓再陡)
    DOLLOR
        33
    DOLLOR  
       2024-03-21 21:02:29 +08:00
    vue:把数据和 UI 关联起来,哪里的数据发生变动,UI 就更新相应的那部分。()
    react:根据数据生成 UI ,当数据发生变化,就把 UI 全部擦掉,重新生成,不用关心上次的 UI 长什么样。
    rabbbit
        34
    rabbbit  
       2024-03-21 21:24:09 +08:00
    更正一个误区 Vue 官方支持 JSX,只是文档未过多介绍
    要是找工作就大厂 React, 中小公司 Vue,自己用随意
    都是工具,没啥本质区别
    rabbbit
        35
    rabbbit  
       2024-03-21 21:25:33 +08:00
    不想自己搭 Webpack 啥的就 Vue,官方都弄好了.
    希望周边生态丰富就 React, 库多.
    zloong
        36
    zloong  
       2024-03-22 09:15:29 +08:00
    vue3 的 setup 写法,和 react 也没多大区别了
    realJamespond
        37
    realJamespond  
       2024-03-22 10:44:38 +08:00
    vue 就是 angular+react
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1120 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 23:34 · PVG 07:34 · LAX 16:34 · JFK 19:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.