一、相似处
1、使用Virtual DOM,都有jsx,性能好。
2、提供了响应式(reactive)和可组合的视图组件(composable view component)。
3、将注意力集中保持在核心库,同时也关注路由和负责处理全局状态管理的辅助库。
4、都支持服务端渲染。
二、区别点
1、应用场景
react的跨平台能力强,同时适用于Web端和原生APP,大型应用系统,首屏大量数据渲染。react Native是一个使用Javascript构建移动端原生应用程序(iOS,Android)的库,它与react.js相同,只是不使用Web组件,而是使用原生组件。如果你学过react.js,很快就能上手react Native,反之亦然。
vue适用于小型项目。
2、渲染速度
vue比react快。
3、学习成本
学习react,需要先学es6和jsx,构建系统。学习vue,懂js就行。vue向上扩展像是react,vue 向下扩展后就类似于jquery。
4、搭建方式
vue用模板搭建项目,react不使用模板,它要求开发者借助JSX在JavaScript中创建DOM。
5、数据绑定
vue1.0是标准的mvvm架构,数据双向绑定;vue 2.0已经改为数据单向绑定,且引入了virtual dom。
react是单向数据流,使用virtual dom。
6、指令语法
vue有指令语法,react没有。
7、代码风格
react推荐jsx,把html,css都写进js里面,all in js;vue推荐webpack+vue-loader的单文件组件格式,html,css,js都写在.vue里面。
8、浏览器兼容性
vue不支持ie8
三、为什么要用vue或者react?
vue和js,react有什么区别?为什么不写原生js,要用框架。
为了抹平团队差异,工作3年和应届生对js原生操作能力不同,用框架可以快速学习开发。