浅谈react和vue
浅谈React 和 Vue
相同之处:
React 和 Vue 有许多相似之处,它们都有:
· 使用 Virtual DOM
· 提供了响应式 (Reactive) 和组件化 (Composable) 的视图组件。
· 将注意力集中保持在核心库,而将其他功能如路由和全局状态管理交给相关的库。
· vue和react都得到了国内一线互联网的公司的广泛使用,包括百度,阿里巴巴,腾讯,美团,饿了么,滴滴等等。
对比:
1. 从两者的github表现上来看(截止2018年1月8日)
react
vue
可以看出react的star数量依然是前端框架中最火爆的,但是vue也超越angjular紧随其后,react版本已经来到16,而vue也已经发布2.5版,并且从2.5.9之后对typescript有了更好的支持,从维护上来看,react是facebook在维护,而vue现阶段虽然也有了团队,但主要还是尤雨溪在维护贡献代码,并且阿里巴巴开源的混合式框架weex也是基于vue的,所以我们相信vue未来将会得到更多的人和团队维护。毫无疑问,react仍是最受欢迎的框架,但是vue正迎头赶上,从github上的start的增速可以看出,越来越多的开发者正在使用vue,根据不完全统计,包括饿了么、简书、高德、稀土掘金、苏宁易购、美团、天猫、荔枝FM、房多多、Laravel、htmlBurger等国内外知名大公司都在使用vue进行新项目的开发和旧项目的前端重构工作。
2. UI生态
react有material-design,蚂蚁金服的ant-design等,vue有饿了么出品的element以及iview等。
相比react而言,vue作为一个渐进式的框架,有着更小的体积,更简单的语法和学习实践。
而在创建大型应用时,react可能比vue更有优势,事实上,越来越多的人也开始选用vue着手写大型项目。
3. 语法
在 React 中,一切都是 JavaScript,用独创的jsx进行开发, Vue则是传统的模版语法的思路,虽然vue也可以使用jsx进行开发,但是对于很多习惯了 HTML 的开发者来说,模板比起 JSX 读写起来更自然。这里当然有主观偏好的成分,但如果这种区别会导致开发效率的提升,那么它就有客观的价值存在。
· 基于 HTML 的模板使得将已有的应用逐步迁移到 Vue 更为容易。
· 这也使得设计师和新人开发者更容易理解和参与到项目中。
另外vue一个更大的好处就是组件作用域内的css,可选 scoped 属性会自动添加一个唯一的属性 (比如 data-v-21e5b78) 为组件内 CSS 指定作用域,编译的时候 .list-container:hover 会被编译成类似 .list-container[data-v-21e5b78]:hover。
另外,react和vue都推荐使用es6的语法来进行开发,react和vue也都提供了es5的版本,使得开发者可以用es5进行学习和开发,只不过,react需要转译其jsx的语法,相比而言vue则显得更小巧,轻便。
4. 从两者的路由和状态管理和社区活跃程度来看
Vue 的路由库和状态管理库都是由官方维护支持且与核心库同步更新的。React 则是选择把这些问题交给社区维护,因此创建了一个更分散的生态系统,并且相比react的路由和状态管理,vue的路由和状态管理则显得更加优雅,易懂,入手。
两者都能快速创建项目,react的create-react-app 和vue的 vue-cli,两者都可以做到入手即用,零配置。从社区上来看,在国际上,react显然拥有更活跃的社区,而vue近年来也非常活跃,尤其是中国的社区。
5. 学习曲线
毫无疑问,react的全能性让它在学习时有一定的成本,更多时候需要自己去摸索或者社区交流,而且react的官方教程并没有十分深入的讲解,vue则拥有官方维护的教程和api,从学习难易程度而言的话,vue上手和学习都显得更快。
总结一下,我们发现,Vue的优势包括:
· 模板和渲染函数的弹性选择
· 简单的语法及项目创建
· 更快的渲染速度和更小的体积
React的优势包括:
· 更适用于大型应用和更好的可测试性
· 同时适用于Web端和原生App
· 更大的生态圈带来的更多支持和工具
而实际上,React和Vue都是非常优秀的框架,它们之间的相似之处多过不同之处,并且它们大部分最棒的功能是相通的:
· 利用虚拟DOM实现快速渲染
· 轻量级
· 响应式组件
· 服务器端渲染
· 易于集成路由工具,打包工具以及状态管理工具
· 优秀的支持和社区
更多对比详情:
1. vue和其他框架对比 https://cn.vuejs.org/v2/guide/comparison.html
2. 我们为什么选择vue
http://www.infoq.com/cn/news/2016/12/why-Vue-js-no-react
3.最喜欢react,vue比angular更值得尝试 http://blog.csdn.net/oschina2017/article/details/78815523
转载于:https://my.oschina.net/u/3548513/blog/1604411
浅谈react和vue相关推荐
- 【转】浅谈React、Flux 与 Redux
本文转自<浅谈React.Flux 与 Redux>,转载请注明出处. React React 是一个 View 层的框架,用来渲染视图,它主要做几件事情: 组件化 利用 props 形成 ...
- 浅谈 React 生命周期
浅谈 React 生命周期 浅谈 React 生命周期 旧版的生命周期 新版的生命周期 详解各个生命周期函数 constructor getDerivedStateFromProps render c ...
- Java防止Xss注入json_浅谈 React 中的 XSS 攻击
作者:陈吉 转发链接:https://mp.weixin.qq.com/s/HweEFh78WXLawyQr_Vsl5g 前言 前端一般会面临 XSS 这样的安全风险,但随着 React 等现代前端框 ...
- 浅谈:为什么vue和react都选择了Hooks?
一.hooks: 什么叫大势所趋? 2019年年初,react 在 16.8.x 版本正式具备了 hooks 能力. 2019年6月,尤雨溪在 vue/github-issues 里提出了关于 vue ...
- 浅谈 React Fiber
2016 年都已经透露出来的概念,这都 9102 年了,我才开始写 Fiber 的文章,表示惭愧呀.不过现在好的是关于 Fiber 的资料已经很丰富了,在写文章的时候参考资料比较多,比较容易深刻的理解 ...
- 浅谈React虚拟DOM
为什么要使用虚拟DOM 因为浏览器的DOM渲染是非常消耗性能的,很低效,我们使用虚拟DOM是为了提高DOM的渲染性能: 什么是虚拟DOM 虚拟DOM就是把真实的DOM树通过createElement转 ...
- 【转载】浅谈React编程思想
React是Facebook推出的面向视图层开发的一个框架,用于解决大型应用,包括如何很好地管理DOM结构,是构建大型,快速Web app的首选方式. React使用JavaScript来构建用户界面 ...
- 浅谈react hook ( ref)
import React ,{useRef,useState,PureComponent} from "react"; import ReactDOM from "rea ...
- 浅谈React和VDom关系
组件化 组件的封装 组件的复用 组件的封装 视图 数据 视图和数据之间的变化逻辑 import React, {Component} from 'react';export default class ...
最新文章
- 自动驾驶故障诊断与容错控制技术研究
- 多看看 leetcode 128. 最长连续序列
- 我的世界服务器怎么显示腐竹来了,我的世界腐竹开服必看manu权限组教程
- 一个统计编码时长的Vscode插件神器
- PHP | Uploading and reading of files and database 【PHP | 文件的上传和读取与数据库】
- mysql 视图 动态sql_sql-server – 使用动态Sql创建视图
- 5.1 内存模型基础
- [CF700E][JZOJ5558]Cool Slogan (后缀自动机+线段树)
- 云班课资源自动下载详细教程
- 磁盘精灵linux,磁盘空间-逻辑卷
- saas、paas、laas 的概念与区别
- Python制作短信发送程序
- linux设备模型详解
- 利用Filezilla在局域网内搭建自己的FTP服务器
- 数据库 vs 数据仓库
- VBA常用小代码:在批注中批量插入图片
- 分配工作时需要考虑的问题
- 游戏开发笔记十六 讲解一个完整的回合制游戏demo
- 『开发技术』Python中文分词工具SnowNLP教程
- 人类早期驯服野生CNN卷积神经网络的情景
热门文章
- 世界顶级虚拟机VMware Workstation 7.1 官方正式版+注册机+汉化包下载
- Python 数据挖掘与机器学习基础-韦玮-专题视频课程
- UnityVR--机械臂场景6-三自由度逆向解算1
- android 项目中打开手机上优酷,腾讯等播放器或任何软件。
- 小米电视的网页和珠宝的网页
- gta5虚拟服务器,画质炸裂的《GTA5》重制版,虚拟现实的混合体,堪比续作!
- python学习记录之---------PYQT5做工具(2)下拉选项框的使用
- 列表左边左右固定,右边可以左右滚动,且左右两边列表滚动时上下联动
- 首都图书馆推出二维码读者证啦!
- Polyspaces软件下载安装使用试用