vue和react的区别以及优劣势是什么

3,700 阅读3分钟

一、概念

Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。

React是一个用于构建用户界面的开源JavaScript库,主要用于构建UI,很多人认为 React 是 MVC 中的 V(视图)。React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。

二、vue和react的相同点都是用于创建ui的js库;

都比较轻便;
都是组件化思想,组件化开发;
都是虚拟dom,提高渲染速度;
都有独立的路由系统,以及独立的状态管理库;
都可以放进一个独立的html文件,或者依托于webpack模块;

三、Vue和React的区别

  • vue 提供了一系列的api, 而react的api 很少
  • vue的思想是响应式的,也就是基于是数据可变的,实现了数据的双向绑定,react整体是函数式的思想,是单向数据流,推崇结合immutable来实现数据不可变
  • vue 采用了template, react采用了jsx (本质上都是模版)
  • React依赖Virtual DOM,而Vue.js使用的是DOM模板。React采用的Virtual DOM会对渲染出来的结果做脏检查。
  • Vue.js在模板中提供了指令,过滤器等,可以非常方便,快捷地操作DOM。vue和react的优劣势

四、Vue的优点

  1. 简单:官方文档很清晰,比 React 简单易学。

  2. 快速:异步批处理方式更新 DOM。

  3. 组合:用解耦的、可复用的组件组合你的应用程序。

  4. 紧凑:~18kb min+gzip,且无依赖。

  5. 强大:表达式 & 无需声明依赖的可推导属性 (computed properties)。

  6. 对模块友好:可以通过 NPM、Bower 或 Duo 安装,不强迫你所有的代码都遵循 React 的各种规定,使用场景更加灵活。

五、Vue的缺点:

  1. 新生儿:Vue.js是一个新的项目,没有React那么成熟。

  2. 影响度不是很大:google了一下,有关于Vue.js多样性或者说丰富性少于其他一些有名的库。

  3. 不支持IE8。

六、React的优点:

  1. 速度快:在UI渲染过程中,React通过在虚拟DOM中的微操作来实现对实际DOM的局部更新。

  2. 跨浏览器兼容:虚拟DOM帮助我们解决了跨浏览器问题,它为我们提供了标准化的API,甚至在IE8中都是没问题的。

  3. 模块化:为你程序编写独立的模块化UI组件,这样当某个或某些组件出现问题是,可以方便地进行隔离。

  4. 单向数据流:Flux是一个用于在JavaScript应用中创建单向数据层的架构,它随着React视图库的开发而被Facebook概念化。

  5. 同构、纯粹的javascript:因为搜索引擎的爬虫程序依赖的是服务端响应而不是JavaScript的执行,预渲染你的应用有助于搜索引擎优化。

  6. 兼容性好:比如使用RequireJS来加载和打包,而Browserify和Webpack适用于构建大型应用。它们使得那些艰难的任务不再让人望而生畏。

七、react的缺点:

陡峭的学习曲线:由于复杂的设置过程,属性,功能和结构,它需要深入的知识来构建应用程序。