前言

昨天阿里内推电面一面,面试官了解到项目中用过Vue,就问为什么前端框架使用Vue而不适用其他的框架,当时就懵了。因为只用过Vue,不了解其他两个框架,今天就赶紧去了解一下他们之间的区别。大家发现如果本文中哪个地方不对,欢迎来访。

React与Vue对比

  1. 相似点:

    1. 使用 Virtual DOM
    2. 提供了响应式 (Reactive) 和组件化 (Composable) 的视图组件。
    3. 将注意力集中保持在核心库,而将其他功能如路由和全局状态管理交给相关的库。
  2. 区别:
    1. 在 React 应用中,当某个组件的状态发生变化时,它会以该组件为根,重新渲染整个组件子树。如要避免不必要的子组件的重渲染,你需要手动实现;在 Vue 应用中,组件的依赖是在渲染过程中自动追踪的,所以系统能精确知晓哪个组件确实需要被重渲染,开发者不需要考虑组件是否需要重新渲染之类的优化。
    2. 在React中,一切都是JavaScript,所有的组件的渲染功能都依靠 JSX。JSX 是使用 XML 语法编写 JavaScript 的一种语法糖。你可以使用完整的编程语言 JavaScript 功能来构建你的视图页面;在Vue中有自带的渲染函数,Vue也支持JSX,Vue官方推荐使用模板渲染视图。组件分为逻辑类组件和表现类组件。
    3. 组件作用域内的CSS。CSS 作用域在 React 中是通过 CSS-in-JS 的方案实现的;在Vue中是通过给style标签加scoped标记实现的。
    4. Vue 的路由库和状态管理库都是由官方维护支持且与核心库同步更新的。React 则是选择把这些问题交给社区维护,因此创建了一个更分散的生态系统。

Angular与Vue对比

AngularJS 是 Vue 早期开发的灵感来源,但AngularJS 中存在的许多问题,在 Vue 中已经得到解决。

  1. 区别:

    1. 模块化和灵活性。它允许你以希望的方式组织应用程序,而不是在任何时候都必须遵循 AngularJS 制定的规则。
    2. AngularJS 使用双向绑定,Vue 在不同组件间强制使用单向数据流。这使应用中的数据流更加清晰易懂。
    3. 指令与组件 (不太懂)
      在 Vue 中指令和组件分得更清晰。指令只封装 DOM 操作,而组件代表一个自给自足的独立单元——有自己的视图和数据逻辑。在 AngularJS 中,每件事都由指令来做,而组件只是一种特殊的指令。
    4. 性能上
      Vue 有更好的性能,并且非常非常容易优化,因为它不使用脏检查;在 AngularJS 中,当 watcher 越来越多时会变得越来越慢,因为作用域内的每一次变化,所有 watcher 都要重新计算。并且,如果一些 watcher 触发另一个更新,脏检查循环 (digest cycle) 可能要运行多次。

注:
本文内容参考:Vue官方文档

Vue(MVVM)、React(MVVM)、Angular(MVC)对比相关推荐

  1. web前端 vue、react、angular三大框架对比 与jquery的对比

    前端当前最火的三大框架当属vue.react以及angular了. 但是在做项目的时候,我们怎么去选择呢?  这里做一个比较,希望大家可以有一个比较清晰的认识. vue与react vue和react ...

  2. Vue、React、Angular之三国杀,web前端入坑第六篇(上)

    「 懒癌引发血案 」 目前前端技术栈发生了翻天覆地的变化,上篇刚写了只会jquery 要失业,再不学新的你就要被淘汰,虽然有点危言耸听,不过现实情况确实是这样. vue.react.angular对比 ...

  3. Vue、React、Angular最佳UI框架

    摘要: 今天我们不聊技术,只"以貌取人". 刚入门的小伙伴问我(上面是我的自拍照),现在前端Vue.React.Angular这三个框架似乎都很好,反而不知道选择什么了,我当时开玩 ...

  4. vue固定资产管理系统_Java 开源办公开发平台 O2OA V5.1.1 发布 | 支持 Vue、React、Angular...

    Java 开源办公开发平台 O2OA V5.1.1 发布 | 支持 Vue.React.Angular 作者:无 时间:2020-07-02 10:48:24 O2OA提供了门户平台,使用可视化方式设 ...

  5. 2020年Vue、React 和 Angular:该选择哪个框架?

    近几年 ,前端领域出现了两大玩家:Google 发布的 Angular.Facebook 开发的 JavaScript 库 React.在 2018 年,又有一个实力雄厚的玩家加入了这场竞争:Vue. ...

  6. 结合vue、react、angular谈谈MVC、MVP、MVVM框架

    首先,在谈这个话题之前, 我们有必要了解一下库和框架的区别. 我们先来看react官网以及vue官网对他们的定位: react: vue: react我们不说了,官网上明明白白说了,人家是一个libr ...

  7. 深度调研前端框架Vue、React、Angular、jQuery,附参考模板!

    前端交流企鹅:724396871 近两年前端各框架流行程度与趋势分析 图1 上图显示了2016年10月至2017年10月的12个月期间,各个框架的绝对受欢迎程度及其增长情况.可以看出: ①  Vue ...

  8. vue和react的diff算法对比

    vue和react的diff算法,都是忽略跨级比较,只做同级比较.vue diff时调动patch函数,参数是vnode和oldVnode,分别代表新旧节点. vue比对节点,当节点元素类型相同,但是 ...

  9. Soild性能居然这么厉害,Vue、React和Angular竟纷纷跌出前十

    点击"开发者技术前线",选择"星标????" 让一部分开发者看到未来 作者 | Ryan Carniato 译者 | 王强 策划 | 李俊辰 之前我在网上闲逛的 ...

最新文章

  1. 想转行软件测试,简历怎么包装成1年工作经验的测试工程师
  2. 转:优化js脚本设计,防止浏览器假死
  3. 灰度图像--图像增强 双边滤波 Bilateral Filtering
  4. linux系统python截图不显示中文_Linux运维知识之解决linux系统下python中的matplotlib模块内的pyplot输出图片不能显示中文的问题...
  5. UML大战需求分析--阅读笔记02
  6. 一些javascript免费中文书籍
  7. 张洁的新书「流浪的老狗」
  8. 数学-矩阵计算(1)矩阵和向量的求导法则
  9. mysql中订单产品名,Ecshop后台订单列表增加”商品名”检索字段
  10. python 正则表达式学习-group
  11. 安卓隐藏摄像_隐藏摄像头探测器
  12. mybatis如何防止SQL注入?
  13. php音频怎么打开,音频管理器怎么设置
  14. python中集合的符号_python集合中的操作符有哪些?怎么用?
  15. IOS逆向学习之路之iPod touch4 越狱心得
  16. 阳光沙滩博客系统后端api
  17. linux设置用户默认桌面背景,linux 修改桌面背景
  18. unity2018 Image使用Sliced九宫格进行调整
  19. 如何将ida中的悬浮窗口恢复原位
  20. Ubuntu18.04网络连接图标上显示问号

热门文章

  1. Linux卸载MariaDB
  2. Django 的工程创建
  3. 获取当前日期时间并格式化 - 常见格式
  4. 武汉大学2013年数学分析考研试题参考解答
  5. android学习笔记之ProgressDialog的使用
  6. Access 时间比较错误
  7. oracle t44,SecureFiles LOBs基础知识之存储篇
  8. 二分归并排序算法_第五篇排序算法|归并排序
  9. oracle dblink 验证,Oracle DBLINK 简单使用
  10. python字符串的方法和列表的方法_Python学习笔记字符串操作之join()和split()方法,列表转字符串,字符串转列表...