Vue(MVVM)、React(MVVM)、Angular(MVC)对比
前言
昨天阿里内推电面一面,面试官了解到项目中用过Vue,就问为什么前端框架使用Vue而不适用其他的框架,当时就懵了。因为只用过Vue,不了解其他两个框架,今天就赶紧去了解一下他们之间的区别。大家发现如果本文中哪个地方不对,欢迎来访。
React与Vue对比
- 相似点:
- 使用 Virtual DOM
- 提供了响应式 (Reactive) 和组件化 (Composable) 的视图组件。
- 将注意力集中保持在核心库,而将其他功能如路由和全局状态管理交给相关的库。
- 区别:
- 在 React 应用中,当某个组件的状态发生变化时,它会以该组件为根,重新渲染整个组件子树。如要避免不必要的子组件的重渲染,你需要手动实现;在 Vue 应用中,组件的依赖是在渲染过程中自动追踪的,所以系统能精确知晓哪个组件确实需要被重渲染,开发者不需要考虑组件是否需要重新渲染之类的优化。
- 在React中,一切都是JavaScript,所有的组件的渲染功能都依靠 JSX。JSX 是使用 XML 语法编写 JavaScript 的一种语法糖。你可以使用完整的编程语言 JavaScript 功能来构建你的视图页面;在Vue中有自带的渲染函数,Vue也支持JSX,Vue官方推荐使用模板渲染视图。组件分为逻辑类组件和表现类组件。
- 组件作用域内的CSS。CSS 作用域在 React 中是通过 CSS-in-JS 的方案实现的;在Vue中是通过给style标签加scoped标记实现的。
- Vue 的路由库和状态管理库都是由官方维护支持且与核心库同步更新的。React 则是选择把这些问题交给社区维护,因此创建了一个更分散的生态系统。
Angular与Vue对比
AngularJS 是 Vue 早期开发的灵感来源,但AngularJS 中存在的许多问题,在 Vue 中已经得到解决。
- 区别:
- 模块化和灵活性。它允许你以希望的方式组织应用程序,而不是在任何时候都必须遵循 AngularJS 制定的规则。
- AngularJS 使用双向绑定,Vue 在不同组件间强制使用单向数据流。这使应用中的数据流更加清晰易懂。
- 指令与组件 (不太懂)
在 Vue 中指令和组件分得更清晰。指令只封装 DOM 操作,而组件代表一个自给自足的独立单元——有自己的视图和数据逻辑。在 AngularJS 中,每件事都由指令来做,而组件只是一种特殊的指令。 - 性能上
Vue 有更好的性能,并且非常非常容易优化,因为它不使用脏检查;在 AngularJS 中,当 watcher 越来越多时会变得越来越慢,因为作用域内的每一次变化,所有 watcher 都要重新计算。并且,如果一些 watcher 触发另一个更新,脏检查循环 (digest cycle) 可能要运行多次。
注:
本文内容参考:Vue官方文档
Vue(MVVM)、React(MVVM)、Angular(MVC)对比相关推荐
- web前端 vue、react、angular三大框架对比 与jquery的对比
前端当前最火的三大框架当属vue.react以及angular了. 但是在做项目的时候,我们怎么去选择呢? 这里做一个比较,希望大家可以有一个比较清晰的认识. vue与react vue和react ...
- Vue、React、Angular之三国杀,web前端入坑第六篇(上)
「 懒癌引发血案 」 目前前端技术栈发生了翻天覆地的变化,上篇刚写了只会jquery 要失业,再不学新的你就要被淘汰,虽然有点危言耸听,不过现实情况确实是这样. vue.react.angular对比 ...
- Vue、React、Angular最佳UI框架
摘要: 今天我们不聊技术,只"以貌取人". 刚入门的小伙伴问我(上面是我的自拍照),现在前端Vue.React.Angular这三个框架似乎都很好,反而不知道选择什么了,我当时开玩 ...
- vue固定资产管理系统_Java 开源办公开发平台 O2OA V5.1.1 发布 | 支持 Vue、React、Angular...
Java 开源办公开发平台 O2OA V5.1.1 发布 | 支持 Vue.React.Angular 作者:无 时间:2020-07-02 10:48:24 O2OA提供了门户平台,使用可视化方式设 ...
- 2020年Vue、React 和 Angular:该选择哪个框架?
近几年 ,前端领域出现了两大玩家:Google 发布的 Angular.Facebook 开发的 JavaScript 库 React.在 2018 年,又有一个实力雄厚的玩家加入了这场竞争:Vue. ...
- 结合vue、react、angular谈谈MVC、MVP、MVVM框架
首先,在谈这个话题之前, 我们有必要了解一下库和框架的区别. 我们先来看react官网以及vue官网对他们的定位: react: vue: react我们不说了,官网上明明白白说了,人家是一个libr ...
- 深度调研前端框架Vue、React、Angular、jQuery,附参考模板!
前端交流企鹅:724396871 近两年前端各框架流行程度与趋势分析 图1 上图显示了2016年10月至2017年10月的12个月期间,各个框架的绝对受欢迎程度及其增长情况.可以看出: ① Vue ...
- vue和react的diff算法对比
vue和react的diff算法,都是忽略跨级比较,只做同级比较.vue diff时调动patch函数,参数是vnode和oldVnode,分别代表新旧节点. vue比对节点,当节点元素类型相同,但是 ...
- Soild性能居然这么厉害,Vue、React和Angular竟纷纷跌出前十
点击"开发者技术前线",选择"星标????" 让一部分开发者看到未来 作者 | Ryan Carniato 译者 | 王强 策划 | 李俊辰 之前我在网上闲逛的 ...
最新文章
- 想转行软件测试,简历怎么包装成1年工作经验的测试工程师
- 转:优化js脚本设计,防止浏览器假死
- 灰度图像--图像增强 双边滤波 Bilateral Filtering
- linux系统python截图不显示中文_Linux运维知识之解决linux系统下python中的matplotlib模块内的pyplot输出图片不能显示中文的问题...
- UML大战需求分析--阅读笔记02
- 一些javascript免费中文书籍
- 张洁的新书「流浪的老狗」
- 数学-矩阵计算(1)矩阵和向量的求导法则
- mysql中订单产品名,Ecshop后台订单列表增加”商品名”检索字段
- python 正则表达式学习-group
- 安卓隐藏摄像_隐藏摄像头探测器
- mybatis如何防止SQL注入?
- php音频怎么打开,音频管理器怎么设置
- python中集合的符号_python集合中的操作符有哪些?怎么用?
- IOS逆向学习之路之iPod touch4 越狱心得
- 阳光沙滩博客系统后端api
- linux设置用户默认桌面背景,linux 修改桌面背景
- unity2018 Image使用Sliced九宫格进行调整
- 如何将ida中的悬浮窗口恢复原位
- Ubuntu18.04网络连接图标上显示问号
热门文章
- Linux卸载MariaDB
- Django 的工程创建
- 获取当前日期时间并格式化 - 常见格式
- 武汉大学2013年数学分析考研试题参考解答
- android学习笔记之ProgressDialog的使用
- Access 时间比较错误
- oracle t44,SecureFiles LOBs基础知识之存储篇
- 二分归并排序算法_第五篇排序算法|归并排序
- oracle dblink 验证,Oracle DBLINK 简单使用
- python字符串的方法和列表的方法_Python学习笔记字符串操作之join()和split()方法,列表转字符串,字符串转列表...