当前位置:首页>Vue.js>Vue.js教程>vue和react、angular的区别

vue和react、angular的区别

作者:微学网发布时间:2019-08-08 06:50:01

概述

AngularVue.jsReact 三大框架,我觉得他们并不存在谁优谁劣,但是有不同的特点。

React 与 Vue.js 都采用虚拟 DOM,其核心功能在核心库中,路由等其他功能由其他库处理。

在我看来,React并不是一个纯粹的MVVM框架,它有一个非常完善的生态系统,它比Vue.js好,因为它不属于一般框架的范畴。当然这也不是说Vue.js在他面前就没有比较可言了。

事实上,Vue.js在很多情况下都是有非常大优势的,因为Vue.js比React轻量级的得多。整个React由javascript来实现的,对于一般的前端开发人员来说,将css和html集成到javascript中并不容易接受,而Vue.js则基于传统的Web技术进行扩展,这无疑更为用户所接受。

Angular1和Angular2在我看来是不同的框架。它们在语法上几乎与Vue.js相同。很多人都这么说。Vue.js 抄袭了Angular。但我认为这是对Vue.js的早期发展思路,的的确确存在部分来源 Angular1。

Vue.js在许多方面都没有Angular开发那么深入,但它也保证了基本功能的改进。因为Angular的综合性引起了框架的大而复杂。Vue.js选择不同的方向。Vue.js在很多情况下都比Angular快,而且Angular的脏检查机制(即Vue)会导致性能问题。这对于Vue.js来说是不用考虑的。

Vue.js的特点

  • 轻量级框架

  • 双向数据绑定

  • 指令

  • 插件化

与AngularJS的区别

  • Vue.js在设计之初参考了很多AngularJS的想法。

  • Vue.js比AngularJS简单

  • Vue.js比AngularJS更小更快。

  • 都可以使用{{}}

  • Vue.js指令使用v-xxx,AngularJS指令使用ng-xxx。

  • Vue.js中的数据放置在数据对象中,AngularJS数据绑定到$scope

  • Vue.js有一个组件视图,AngularJS没有。

相同点

  • 这两个都支持指令:内置指令和自定义指令。

  • 这两个都支持过滤器:内置过滤器和自定义过滤器。

  • 这两个都支持都支持的双向绑定。

  • 它们都不支持低端浏览器。

差异

  • AngularJS具有很高的学习成本,就像添加依赖注入特性一样。Vue.js提供的API更加简单直观。

  • 在性能方面,AngularJS依赖于对数据的脏审查,因此观察者越多,速度越慢。Vue.js使用基于依赖项跟踪的查找和异步队列更新机制,所有数据都是独立触发的。对于复杂的应用程序,这种优化差异也很明显。

与React的区别

  • React和Vue.js都使用虚拟dom

  • React和Vue.js都提供了响应式(Reactive)和组件化(Componsable)的视图组件

  • React和Vue.js都将注意力集中在核心库上,同时还有支持路由和全局状态管理的库。

  • React使用JSX 生成渲染的页面,Vue.js使用简单模板

  • Vue.js运行速度快于React

差异

  • React采用特殊的JSX语法,Vue.js在组件开发中也提倡使用.vue特殊文件格式,对文件内容都有一些约定,两者都需要编译后使用。

  • 中心思想相同:一切都是组件,组件实例之间可以嵌套。

  • 都提供合理的钩子功能,允许开发人员定制他们的需求。

  • AJAX,Route等功能到核心包不内置,以插件的方式加载。

  • 在组件开发中都支持mixins的特性。

相同点

-React依赖于虚拟DOM,而Vue.js使用DOM模板。由react恢复的虚拟DOM将对渲染结果进行脏的检查。

-Vue.js在模板中提供指令、过滤器等。操作起来非常方便快捷。