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

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

  •  
  •   a251922581 · 2017-09-26 10:56:16 +08:00 · 9493 次点击
    这是一个创建于 2619 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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-26 15: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 了?
    h4avone
        79
    h4avone  
       2017-09-27 11:43:50 +08:00 via iPhone
    大家不要说了,我来说一句,vue 是世界上最好的前端框架、php 是世界上最好的编程语言。
    h4avone
        80
    h4avone  
       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   ·   实用小工具   ·   3436 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:09 · PVG 19:09 · LAX 03:09 · JFK 06:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.