请过来人讲一下 AgularJS, React.js, Vue.JS 三者的优缺点和对比? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
a251922581
V2EX    程序员

请过来人讲一下 AgularJS, React.js, Vue.JS 三者的优缺点和对比?

  •  
  •   a251922581 2017-09-26 10:56:16 +08:00 10074 次点击
    这是一个创建于 2966 天前的主题,其中的信息可能已经有所发展或是发生改变。
    83 条回复    2017-09-28 10:42:58 +08:00
    zuohuadong
        1
    zuohuadong  
       2017-09-26 10:58:37 +08:00
    AgularJS 是首先你应该淘汰的~~

    React.js 适合大型项目
    Vue.JS 从搜索趋势来看,目前 vue 在全球用的最多,尤其是 国内~ 上手简单,但是大型项目会有点蛋疼~
    yhxx
        2
    yhxx  
       2017-09-26 10:59:10 +08:00   8
    其中有一个的很大的优点就是选了它会附带一万个战友,穆斯林一样,谁敢说它不好一万个人帮你喷回去
    markocen
        3
    markocen  
       2017-09-26 11:14:53 +08:00 via Android
    angularjs 简单,一站式框架,可以快速开发,但是项目大了会有性能问题
    react 配置复杂,从开发构建到最后发布,要配合各种工具才能完成一个项目,但是生态好,配置自由度高,本身性能也可以应付大型项目,使用 creat-react-app 也可以减少配置复杂度
    vue 感觉介于 angularjs 和 react, 借鉴了以上两个框架的特点,但因为一开始是独立开发者维护,所以生态差了点,但现在好了很多,越来越多人开始选择 vue
    meepo3927
        4
    meepo3927  
       2017-09-26 11:18:01 +08:00
    @zuohuadong vue 做大型为何会蛋疼?
    Terry05
        5
    Terry05  
       2017-09-26 11:21:05 +08:00
    之前也看了一大堆讨论,决定近期开始学习 VUE
    lixiangzaizheli
        6
    lixiangzaizheli  
       2017-09-26 11:21:50 +08:00   1
    首先 angular 还是 angularjs
    isCyan
        7
    isCyan  
       2017-09-26 11:22:14 +08:00
    @zuohuadong #1 用得最多是 React 吧,各种大网站
    MasterMonkey
        8
    MasterMonkey  
       2017-09-26 11:26:29 +08:00 via iPhone
    考虑下 flutter 吧,android 马上要私有化了,到时候 flutter 溜溜溜!!!
    chenhaifeng
        9
    chenhaifeng  
       2017-09-26 11:26:41 +08:00
    看谁顺眼用谁,框架都很成熟,关键看用的人。
    wingspread
        10
    wingspread  
       2017-09-26 11:26:54 +08:00
    vscode+vuecli 环境中 Vue 的单组件开发不好调试。
    顺便问一下 vue 在单文件组件研发中如何引用 bootstrapvalidator,install 了,但是在前台 import 的路径是什么???
    clino
        11
    clino  
       2017-09-26 11:29:13 +08:00
    在这里看到过一个性能比较。。。 http://avalonjs.coding.me/
    EchoChan
        12
    EchoChan  
       2017-09-26 11:38:35 +08:00
    你说 AgularJS 人家默认 1.0 版本,你说 React.js 和 Vue.JS 人家默认最新版本,对比个毛呀。
    radical
        13
    radical  
       2017-09-26 11:43:38 +08:00
    @zuohuadong 谁和你说 Vue 全球最多的?
    EchoChan
        14
    EchoChan  
       2017-09-26 11:48:13 +08:00
    @zuohuadong #1 乱给数据你也不脸疼?
    xiadd
        15
    xiadd  
       2017-09-26 11:53:54 +08:00   5
    @zuohuadong 可以看 npm 一天下载量: react: 22w+ vue: 3w+ angular4: 7w+
    zuohuadong
        16
    zuohuadong  
       2017-09-26 11:57:22 +08:00
    @radical 你可以看下谷歌趋势 和百度指数
    zuohuadong
        17
    zuohuadong  
       2017-09-26 11:57:34 +08:00
    @EchoChan 参考谷歌趋势和百度指数
    EchoChan
        18
    EchoChan  
       2017-09-26 11:59:59 +08:00
    @zuohuadong #17 你拿这当参考数据,只能说,你牛!
    zuohuadong
        19
    zuohuadong  
       2017-09-26 12:02:14 +08:00
    @EchoChan 从招聘的实际情况来看,国内确实 vue 多,单大多数处于 低级水平~
    terranboy
        20
    terranboy  
       2017-09-26 12:02:43 +08:00
    @xiadd REACT 确实是用得最多的
    EchoChan
        21
    EchoChan  
       2017-09-26 12:05:32 +08:00
    @zuohuadong #19 国内使用 react、vue 是比 angular 多。当你不能张口就说全球使用 vue 最多。
    kuxuan
        22
    kuxuan  
       2017-09-26 12:06:11 +08:00
    1.React 未来会是用得最多的,2.Angular 也不错,就是版本更新太快,3.别用 vue,那是小白用的。
    zuohuadong
        23
    zuohuadong  
       2017-09-26 12:17:49 +08:00
    @EchoChan 参考谷歌趋势的数据~
    Keyes
        24
    Keyes  
       2017-09-26 12:33:51 +08:00 via iPhone
    @kuxuan 小白都能用对初创团队来说应该是更好吧?
    kuxuan
        25
    kuxuan  
       2017-09-26 12:38:53 +08:00
    @Keyes 也对,其实应该是这样的,对于很多公司来讲 vue 确实很好,但作为个人的职业规划来讲,你用 vue 一点优势都没有,因为大家都会了。
    momowei
        26
    momowei  
       2017-09-26 12:40:34 +08:00
    大项目是多大,都说 vue 不适合大项目,各位做的项目是有多大,选择一个框架只有一个标准那就是合适你现在的项目
    murmur
        27
    murmur  
       2017-09-26 12:41:55 +08:00
    @zuohuadong 以前 jquery 都做大项目,为啥换了 vue 做不了了
    CFO
        28
    CFO  
       2017-09-26 12:42:51 +08:00 via Android
    @zuohuadong 张口就第一第二 你说了算?
    sudoz
        29
    sudoz  
       2017-09-26 12:43:33 +08:00   1
    mark,看前端撕逼
    jlkm2010
        30
    jlkm2010  
       2017-09-26 12:48:25 +08:00
    涉及到 vue,很多人就喜欢用各种最 XX,真是信仰无敌啊,让我想起了绿绿
    jlkm2010
        31
    jlkm2010  
       2017-09-26 12:51:38 +08:00
    推荐认真学习 angular5 和 react,还有 ts,受益无穷啊,vue 闲暇时看看就行,前端出名的总共三个框架,吵来吵去真没意思,有这个时间都可以上手一个框架了
    codermagefox
        32
    codermagefox  
       2017-09-26 13:31:00 +08:00   1
    说这些有个毛用,有一个学懂了吗..半桶水才晃荡半天
    szdubinbin
        33
    szdubinbin  
       2017-09-26 14:36:25 +08:00   1
    直白来说,国内的话,你把 vue 和 react 都学了工资高(逃
    aristotll
        34
    aristotll  
       2017-09-26 14:43:12 +08:00
    Angular 不等于 AngularJs 官网都不一样的东西
    sublime
        35
    sublime  
       2017-09-26 14:50:02 +08:00
    Angular 和 React 选喜欢的,附带的技能点不少,Angularjs 和 Vue 了解就好
    old9
        36
    old9  
       2017-09-26 15:11:58 +08:00
    都学
    tanranran
        37
    tanranran  
       2017-09-2615:16:32 +08:00
    all in
    CDL
        38
    CDL  
       2017-09-26 15:25:19 +08:00
    看了上面的争吵真是深切体会到什么叫贵圈真乱
    rswl
        39
    rswl  
       2017-09-26 15:46:53 +08:00
    看花眼
    sdwill
        40
    sdwill  
       2017-09-26 16:44:19 +08:00
    lamada
        41
    lamada  
       2017-09-26 16:53:34 +08:00
    选择适合自己团队的,如果是个人学习,其实都可以,无非从状态管理,生命周期等方面去了解。其次 react 和 vue 只是库,并不算框架,想要构建完整的工程项目,你可能需要全家桶。总而言之,要学会举一反三,万变不离其中。如果只是面向工资的话,前期 react 和 vue 都是不错的选择,但从长远来看,提升自我一定要跳出我该选那个框架这个圈子。
    EchoChan
        42
    EchoChan  
       2017-09-26 17:00:47 +08:00   1
    @zuohuadong #23 http://www.npmtrends.com/angular-vs-react-vs-vue-vs-@angular/core
    这种数据才有资格拿出来分析哪个框架用的人多。
    frankynwa
        43
    frankynwa  
       2017-09-26 20:07:41 +08:00
    react,给我的感觉是把 html 放在 js 里写。vue 和 ng 是把 js 放在 html 里面写(这只是很小的一个特点!其实 vue 也是支持 vDom 的,ng 就用过一次,不好说。)

    但是总觉得 react 那种写法更加灵活,作为开发我比较喜欢这种,毕竟 js 比 html 灵活嘛。
    每次写 vue 的时候 html 里面一大坨模板语言,都快哭了。
    ng2,ng4 就跟不用说了什么大中小括号,全上了,各种绑定方式...累不累啊...
    bucky
        44
    bucky  
       2017-09-26 20:17:40 +08:00
    @yhxx 太好了,就想加入这样的组织,请问怎么加入
    murmur
        45
    murmur  
       2017-09-26 20:19:39 +08:00
    @frankynwa 模板用了多少年了 不用模板用什么啊 自己拼接字符串么

    还是你喜欢 react 那种 if 和 for 都要自己实现的东西很 cool 么
    bucky
        46
    bucky  
       2017-09-26 20:19:42 +08:00
    @kuxuan 你这句话正好反映了大家争吵的原因,焦虑
    murmur
        47
    murmur  
       2017-09-26 20:22:18 +08:00
    @EchoChan 会不会是 react 和 angular 的搭建太麻烦一群人反反复复在删 node_modules 玩
    murmur
        48
    murmur  
       2017-09-26 20:26:46 +08:00
    @kuxuan

    [这里是百度喷口水的表情]

    第一次看到拿 vue 都会=没竞争优势,spring 全家桶有的时候 node 还没出生呢,是个 java 程序员都会,咋没人说会 spring 没优势呢

    而且真以为你会 react 就比会 vue 厉害?去了新公司还自己写代码啊,第一个模块果断照着前人的样子抄,否则代码走查都过不去,直接抄他的风格是最简单的

    抄过一个,这公司代码啥样,喜欢怎么写就学会了
    wangyufeng
        49
    wangyufeng  
       2017-09-26 21:58:19 +08:00
    为毛没人讨论 polymer,knockout,ember,这些才是鼻祖。
    wangyufeng
        50
    wangyufeng  
       2017-09-26 22:01:25 +08:00
    @wangyufeng polymer 去掉。。。
    SnailLin
        51
    SnailLin  
       2017-09-26 22:12:04 +08:00
    贵圈真乱,这有什么可比性的
    mrcn
        52
    mrcn  
       2017-09-26 22:21:38 +08:00 via Android
    这种帖子发出来就是为了撕逼的。
    后端,这些框架一个都没用过,但是 Vue 作为 Laravel5.4 的默认前端框架,应该还是有他的道理吧。
    notreami
        53
    notreami  
       2017-09-26 22:35:48 +08:00
    @murmur 例子举的太差了,Spring 的包容性,可不是只会强调自身的 Vue 学不来的。倒是 Vue 啥时候能把官方文档上的框架比较更新下?给 Spring 做个前端模版?
    murmur
        54
    murmur  
       2017-09-26 22:54:41 +08:00
    @notreami 说的好啊 所以为什么不

    https://github.com/vuejs/vuejs.org/issues/new?title=Inaccuracy+in+comparisons+guide

    We ’ d also like your help keeping this document up-to-date because the Javascript world moves fast! If you notice an inaccuracy or something that doesn ’ t seem quite right, please let us know by opening an issue.

    前端需要什么包容性么?任何一个框架你都可以用你学过的所有技巧,你可以用$ref 操作源生 dom,可以使用其他的路由和状态管理,可以用事件,甚至把 jquery 引进来也无所谓

    不要被框架束缚住,忘了以前学过的东西
    murmur
        55
    murmur  
       2017-09-26 23:09:53 +08:00
    @notreami 另外,java 的后端从来就不想撕前端的 b,要 MVC 的是前端,要服务器渲染的也是前端

    总之啥都是前端想一出是一出

    springmvc 可以用模板也可以换模板啊,人家可没说在 java 里写什么 jhtml 吧 虽然落到 servlet 层 jsp 都是那些东西。。
    changwei
        56
    changwei  
       2017-09-26 23:21:21 +08:00 via Android
    楼主肯定又是缺金币了
    simonguo
        57
    simonguo  
       2017-09-26 23:30:47 +08:00
    这个问题就是用来吵架的,你可以在 github, 分别搜索一下这几个库,你会发现返回的结果数相差特别大。
    momocraft
        58
    momocraft  
       2017-09-27 08:31:19 +08:00
    你看了上面的回复可能已经感觉到了: 有一些框架使用者特别热衷于证明自己用的框架是好的 (即自己是对的)。这不是框架的错,但如果你除了开发本身还想要较好的视野和社区,建议把这点纳入考虑。
    Mark24
        59
    Mark24  
       2017-09-27 08:42:34 +08:00
    都一样都一样
    49gd
        60
    49gd  
       2017-09-27 08:45:45 +08:00
    只能说时间会证明的。。。。。
    frankynwa
        61
    frankynwa  
       2017-09-27 08:52:38 +08:00
    @murmur vue 和 ng1 的模板语言我还是可以接受,ng2,ng4 不同绑定的方式有不同括号的模板语言,我现在还没完全熟练....总感觉这个不算是写程序了...
    weer0026
        62
    weer0026  
       2017-09-27 08:55:21 +08:00
    公司现在用的 angular,目前问题是招人难,angular 升级困难,现在基本已经和潮流脱节,小公司实力不行啊,现在考虑着换 vue 了。
    kylesean
        63
    kylesean  
       2017-09-27 08:56:13 +08:00
    Vue 的作者曾说过,如果你不是专业的前端,那么用 vue 吧
    MrJing1992
        64
    MrJing1992  
       2017-09-27 09:35:48 +08:00
    all in
    CtrlSpace
        65
    CtrlSpace  
       2017-09-27 09:50:11 +08:00
    。。。
    16 年的话题,17 年还是天天拿出来撕,前端圈还是牛逼的呀
    wuhanchu
        66
    wuhanchu  
       2017-09-27 09:55:30 +08:00
    这时候不应该问 AgularJS 是哪个版本吗
    freewing999
        67
    freewing999  
       2017-09-27 10:25:26 +08:00   5
    这种送命题就是看个人信仰了。ng 的问题是入门门槛高,但是习惯了强类型或者说是有严谨的编程风格偏向者是会接受 ts 作为编程语言加上向上封装好了的一堆自定义控件标签的「纯客户端」编程流派的,而从纯前端或者说是 jquery 时代迁移过来的初学者或者说不靠前端技巧生存的程序员在 vue 和 react 之间纯粹可以随机二选一,react 的社区活跃度肯定是这三者第一,并且在 react 服软修改了开原协议之后,更让人觉得官方不是那么傲慢,好感度倍增,我个人建议这种问题的讨论不要讨论技术,因为这三家都是开源的,相互之间有什么不足都是门儿清的,各位拥趸如果觉得你选的派系技术上有绝对的优势,那你就看看对面阵营喷你家的弱势在哪儿,你就去开源社区提交代码,把这个弱势给补上,这才是真信仰,做了个博客,做了个皮肤,做了个控件就自诩自己是真粉丝这种行为真的很 naive。。。
    sudoz
        68
    sudoz  
       2017-09-27 10:28:54 +08:00
    natforum
        69
    natforum  
       2017-09-27 10:47:55 +08:00
    vue,必须带点绿,生活才过得去
    murmur
        70
    murmur  
       2017-09-27 10:52:04 +08:00
    @simonguo 搜索完我发现还是 jquery 的库最多。。
    yuankui
        71
    yuankui  
       2017-09-27 11:15:07 +08:00
    都忘了 react 的开源协议了吗?
    https://www.zhihu.com/question/62577904
    yuankui
        72
    yuankui  
       2017-09-27 11:15:19 +08:00
    都忘了 react 的开源协议了吗? 还敢用 react?
    www.zhihu.com/question/62577904
    RobertYang
        73
    RobertYang  
       2017-09-27 11:24:31 +08:00 via Android   1
    @yuankui 你延迟太高了
    winglight2016
        74
    winglight2016  
       2017-09-27 11:29:57 +08:00
    @murmur 个人感觉 jquery 和 spring 是同一个时代的过气框架,虽然新框架怎么看怎么比老的好用,但是这些老框架怎么都死不了,还是有大堆的人用
    qq7171891
        75
    qq7171891  
       2017-09-27 11:32:13 +08:00
    @yuankui 您说的是前些日子的事情了,您再看看最新的新闻?!
    evolify
        76
    evolify  
       2017-09-27 11:35:34 +08:00
    @yuankui 村通网?
    lisonfan
        77
    lisonfan  
       2017-09-27 11:40:57 +08:00
    @yuankui #72 红红火火恍恍惚惚
    lisonfan
        78
    lisonfan  
       2017-09-27 11:43:49 +08:00
    不知道用什么框架有什么好吵的, 吵赢了用 Vue 的就会换 AgularJS React.js 了? 用 AgularJS React.js 就会换 Vue 了?
    3l5e0Ddo5BX07ghT
        79
    3l5e0Ddo5BX07ghT  
       2017-09-27 11:43:50 +08:00 via iPhone
    大家不要说了,我来说一句,vue 是世界上最好的前端框架、php 是世界上最好的编程语言。
    3l5e0Ddo5BX07ghT
        80
    3l5e0Ddo5BX07ghT  
       2017-09-27 11:46:24 +08:00 via iPhone
    看 npm 下载量一点用处也没有,因为 vue 的好处是直接引入浏览器,不走 npm 的。
    simonguo
        81
    simonguo  
       2017-09-27 12:50:46 +08:00
    @murmur 数量 /(当前时间-创建时间)
    af463419014
        82
    af463419014  
       2017-09-27 17:04:04 +08:00
    @kuxuan 虽然我不是前端,但我认为使用哪种框架跟小白没有关系
    个人的技术能力不会因为换一个框架就改变
    yuankui
        83
    yuankui  
       2017-09-28 10:42:58 +08:00
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     843 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 22:07 PVG 06:07 LAX 14:07 JFK 17:07
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86