相信很多读者都有其他框架的学习经验,但学的多了难免会混淆,现在我以对比的方式介绍一下啊vue与其他框架的区别。
与AngularJS的区别
Augular来自Google,是目前最火的框架之一,应用于PC端的复杂交互系统。我们通常说的AngularJS指的是Angular 2,Angular 1与Angular 2可以认为是两个不同的框架,它构成了AngularJS(框架的第一个版本)的重写。
相同点
- 都支持指令 – 内置指令和自定义指令
- 都支持过滤器 – 内置过滤器和自定义过滤器
- 都支持双向绑定
- 都不支持低端浏览器(比如IE6/7/8)
不同点
- AngularJs的学习成本较高,比如增加了Dependency Injection特性,而Vue本身提供的API都比较简单、直观。
- 在性能上,AngularJS依赖对数据做脏检查,所以watch越多越慢。而Vue使用基于依赖追踪的观察并使用异步队列更新,所有数据都是独立更新的。
脏检查即一种不关心你如何以及何时改变的数据, 只关心在特定的检查阶段数据是否改变的数据监听技术.
与React的区别
React是一个用于构建Web应用程序UI组件的JavaScript库。React由Facebook维护,许多领先的科技品牌在其开发环境中使用React。
相同点
- React使用特殊的JSX语法,Vue也推崇使用.vue编写,都需要编译后使用
- 中心思想相同,一切都是组件,组件实例可以嵌套
- 都提供合理的钩子函数,可以让开发者定制化的处理需求
- 不内置功能核心包,而是以插件的方式加载
- 在组件开发中都支持mixins特性
不同点
- React依赖Virtual DOM(虚拟DOM),而Vue使用的DOM模板。React的虚拟DOM会作出脏检查。
- Vue提供了指令、过滤器等,可以非常方便、快捷的操作DOM
- vue虚拟dom和react虚拟dom不同
vue虚拟dom和react虚拟dom有什么不同
virtual DOM不一样,vue会跟踪每一个组件的依赖关系, 不需要重新渲染整个组件树.
而对于React而言,每当应用的状态被改变时,全部组件都会重新渲染,所以react中会需要shouldComponentUpdate这个生命周期函数方法来进行控制。
Vue
Vue.js是讨论最多且发展最快的JavaScript框架之一。它由前谷歌员工Evan You创建,他在担任Google员工时曾在Angular工作过。您可以认为它是成功的,因为它能够使用HTML,CSS和JavaScript构建有吸引力的UI。Vue被阿里巴巴,GitLab,百度使用,并受到全球开发人员和设计师的赞赏。
三者比较
框架?程序库?有什么不同?
Angular是一个框架,因为它为您提供了使用完整设置构建应用程序的良好开端。您无需查看库,路由解决方案和结构。你可以简单地开始建设。另一方面,React和Vue比Angular更灵活,更通用。
使用React,您可以进行多个集成,因为您可以将库与其他优秀工具配对,交换和集成。在这一点上,React开箱即用,因为它提供了无缝集成的灵活性,但是,这样做有更多的机会出错,它需要更多的依赖。
与这三个框架相比,Vue是最干净的。它可以帮助您在保持代码高效的同时实现内部依赖性和灵活性的完美平衡。它是一个非常简单,直接且易于使用的JavaScript框架,旨在简化Web开发。
模式
Angular涉及依赖注入,这是一个对象为另一个对象提供依赖关系的概念。这使代码更清晰,更容易理解。另一方面,有一个MVC模式将项目分成三个不同的组件 - 模型,视图和控制器。React没有任何这样的概念,它只用于构建应用程序的View,而Angular则基于MVC架构。
表现,哪个更好?
Virtual DOM模型在性能方面非常有用。React和Vue都有一个Virtual DOM。由于结构精良,Vue可提供出色的性能和内存分配。另一方面,React运作良好,Angular已经在竞争中领先。
快速比较表格
官方文档参考:https://cn.vuejs.org/v2/guide/comparison.html