为什么不把angular纳入考虑范围?1.国人使用少2.入门难度大。
据说,在国内互联网,angular、react、vue的使用率分别是5%、25%、70%,难度angular>react>vue
因此angular一开始就出局。
vue、react各方面对比
vue | react | |
---|---|---|
学习难度 | 小 | 大 |
生态 | 小 | 大 |
开发者 | 尤雨溪 | facebook团队 |
使用公司 | 中小型多 | 大厂多 |
核心思想 | 双向绑定 | 单向数据流 |
一、学习难度
vue的api比较多,react的api比较少,学完一遍react,基本上不怎么需要看文档了,api很少。后期靠的是js功底。
vue学习曲线比较平缓,js功底差看看文档也能上手,react学习曲线比较陡,需要一定的js功底。
二、开发者
vue的项目是尤雨溪尤大大的个人项目,而react是facebook里面的高级牛逼工程师团队写的。
个人项目风险较高,万一哪一天不维护了。
三、使用人数
1.star
vue的star167k,略高react 151k,k是千的意思
2.npm下载
现在用vue或react一般都用不管是自己配的还是用官方的脚手架(webpack配置),一般从npm去下载包,也不排除老方法下载js,然后用script来引用。
image.png
image.png
我们可以看到react周下载数量是vue的五六倍。
四、适用场景
vue更适合小而精的项目,比如移动端(webapp),react更适合大型复杂的项目。一般来说适合大型的应用都是比较难用的,比如java,java为什么比node、php更适合大型web后端项目,为什么ts更适合大型项目,想必为什么react更适合大型项目跟react难用是有关系的。自律使我自由。
五、生态
在全球来看,react生态更大,而且react有react-native,虽然vue有weex,但是weex已凉
而且react周边有大量的库支持。
而且react社区非常活跃
共同点:
1.组件化
2.虚拟dom
3.支持ssr。vue->nuxt,react->next
。。。。
六、应用
React:
蚂蚁数据可视化、爱彼迎、飞猪、阿里大于、虾米音乐、口碑开放平台、猫途鹰、喜马拉雅FM、斗鱼、知乎、豆瓣、美团外卖H5、房多多、石墨文档、墨刀、TalkingData、xiaopiu、Teambition、Uber、倍洽、同盾科技、心知天气、拼多多(APP内嵌H5)、滴滴出行、Sentry、途牛、优酷、京东服饰+生鲜+旅行+赚钱H5、瓜子金融H5、算力矩阵、链家H5、阿里云管理后台、Coding、CodePen、树莓派、36氪、Notion、GoDaddy、站酷海洛、Plotly、麦客CRM、特赞营销日历、鹿班、网易云阅读PC端+网易云音乐H5、猎聘网、看云文档编辑页、NIKE官网、丁香医生、去哪儿H5多个模块、艺龙H5个别模块、租租车H5、汽车之家车商城、PayPal中国、Pocket、友盟、iH5...
Vue:
饿了么、爱奇艺、中国平安H5、简书、途虎养车、小红书、乐视商城、手机搜狐、优酷、土豆、掘金、微博H5、大麦网H5、唯品会H5、小米商城H5、芒果TV移动版、哔哩哔哩、又拍云、七麦数据、OneAPM、阿拉丁小程序统计、网易云信+手机网易+网易邮箱H5登录页、今日头条+西瓜视频网页版、贝店(APP内嵌H5)、大搜车、滴滴开源、高德开放平台、京东拼购+领券+新人频道H5+京东云、瓜子二手车H5、土巴兔、分期乐、BITMAIN、小猪短租H5、IT桔子、创业邦H5、拍拍贷、极客邦科技+极客时间、开源中国、少数派、蓝湖、百度指数、微信公众平台、大鱼号(UC云观)、创客贴、兑吧、国美电器H5、聚美优品触屏版、钱咖、试客小兵、赚客、雪球财经、电玩巴士、Hao123触屏版、弹个车、携程H5多个模块、穷游网、一加手机...AngularJS(免费赠送的):百度脑图、eolinker、海致BDP、极光、Worktile、锤子科技官网、微信网页版、iTunes Connect、阿里云管理后台、鲸准对接平台...
综合来看就是Vue做前台展示居多,React偏后台管理居多。
七、核心思想
react
1 、函数式思想,all in js ,jsx语法,js操控css
2、 单项数据流
3、 setState重新渲染
4 、每当应用的状态被改变时,全部子组件都会重新渲染。当然,这可以通过shouldComponentUpdate这个生命周期方法来进行控制,如果为true继续渲染、false不渲染,但Vue将此视为默认的优化。
vue
1 、响应式思想,也就是基于数据可变的。把html、js、css、组合到一起,也可以通过标签引擎组合到一个页面中
2、 双向绑定,每一个属性都需要建立watch监听(页面不用,涉及到组件更新的话需要)
3、 Vue宣称可以更快地计算出Virtual DOM的差异,这是由于它在渲染过程中,会跟踪每一个组件的依赖关系,不需要重新渲染整个组件树
最后
react能做的,vue也能做,vue能做的,react也能做。选择哪种框架一般看业务场景、技术负责人擅长哪种。
不管项目中使用哪种,我觉得两种都可以学一学,可以精通其中一种。
引用滴滴某hr的一句话,要react和vue都会的同学,不然干不了活。
网友评论