vue 和 React 的优点分别是什么? 下面本篇文章给大家介绍一下. 有一定的参考价值, 有需要的朋友可以参考一下, 希望对大家有所帮助.
vue.js 是一个构建数据驱动的 web 界面的渐进式框架. Vue.JS 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件. 核心是一个响应的数据绑定系统.
react 是是 Facebook 推出的一个用来构建用户界面的 JavaScript 库. React 主要用于构建 UI, 很多人认为 React 是 MVC 中的 V(视图).React 拥有较高的性能, 代码逻辑非常简单, 越来越多的人已开始关注和使用它.
Vue 的优点
1, 简单易用, 学习难度低, 上手简单.
2, 灵活渐进式
3, 双向数据绑定
也就是所谓的响应式数据绑定. 这里的响应式不是 @media 媒体查询中的响应式布局, 而是指 vue.JS 会自动对页面中某些数据的变化做出同步的响应.
也就是说, vue.JS 会自动响应数据的变化情况, 并且根据用户在代码中预先写好的绑定关系, 对所有绑定在一起的数据和视图内容都进行修改. 而这种绑定关系, 就是以 input 标签的 v-model 属性来声明的, 因此你在别的地方可能也会看到有人粗略的称 vue.JS 为声明式渲染的模版引擎.
这也就是 vue.JS 最大的优点, 通过 MVVM 思想实现数据的双向绑定, 让开发者不用再操作 dom 对象, 有更多的时间去思考业务逻辑.
4, 组件化开发
在前端应用, 我们是否也可以像编程一样把模块封装呢? 这就引入了组件化开发的思想.
Vue.JS 通过组件, 把一个单页应用中的各种模块拆分到一个一个单独的组件 (component) 中, 我们只要先在父级应用中写好各种组件标签(占坑), 并且在组件标签中写好要传入组件的参数(就像给函数传入参数一样, 这个参数叫做组件的属性), 然后再分别写好各种组件的实现(填坑), 然后整个应用就算做完了.
5,Virtual DOM
现在的网速越来越快了, 很多人家里都是几十甚至上百 M 的光纤, 手机也是 4G 起步了, 按道理一个网页才几百 K, 而且浏览器本身还会缓存很多资源文件, 那么几十 M 的光纤为什么打开一个之前已经打开过, 已经有缓存的页面还是感觉很慢呢? 这就是因为浏览器本身处理 DOM 也是有性能瓶颈的, 尤其是在传统开发中, 用 jQuery 或者原生的 JavaScript DOM 操作函数对 DOM 进行频繁操作的时候, 浏览器要不停的渲染新的 DOM 树, 导致页面看起来非常卡顿.
而 Virtual DOM 则是虚拟 DOM 的英文, 简单来说, 他就是一种可以预先通过 JavaScript 进行各种计算, 把最终的 DOM 操作计算出来并优化, 由于这个 DOM 操作属于预处理操作, 并没有真实的操作 DOM, 所以叫做虚拟 DOM. 最后在计算完毕才真正将 DOM 操作提交, 将 DOM 操作变化反映到 DOM 树上.
6, 轻量高效
Vue.JS 通过简洁的 API 提供高效的数据绑定和灵活的组件系统
React 的优点
1,React 速度很快:
它并不直接对 DOM 进行操作, 引入了一个叫做虚拟 DOM 的概念, 安插在 JavaScript 逻辑和实际的 DOM 之间, 性能好. 最大限度减少 DOM 交互.
2, 跨浏览器兼容:
虚拟 DOM 帮助我们解决了跨浏览器问题, 它为我们提供了标准化的 API, 甚至在 IE8 中都是没问题的.
3, 一切都是 component:
代码更加模块化, 重用代码更容易, 可维护性高. 这样当某个或某些组件出现问题是, 可以方便地进行隔离. 每个组件都可以进行独立的开发和测试, 并且它们可以引入其它组件. 这等同于提高了代码的可维护性.
4, 单向数据流:
Flux 是一个用于在 JavaScript 应用中创建单向数据层的架构, 它随着 React 视图库的开发而被 Facebook 概念化. 减少了重复代码, 这也是它为什么比传统数据绑定更简单.
5, 同构, 纯粹的 JavaScript:
因为搜索引擎的爬虫程序依赖的是服务端响应而不是 JavaScript 的执行, 预渲染你的应用有助于搜索引擎优化.
6, 兼容性好:
比如使用 RequireJS 来加载和打包, 而 Browserify 和 Webpack 适用于构建大型应用. 它们使得那些艰难的任务不再让人望而生畏.
更多 Web 前端开发 https://www.html.cn/ 知识, 请查阅 HTML 中文网 !!
来源: http://www.css88.com/qa/react/17094.html