React和Vue对比
主要从以下方面对比:
1. 团队熟悉程度,学习成本
目前前端小组其实都是大部分在写业务代码,都有扎实的javascript基础和社区基础,上手二者的哪个都没太大成本区别。对于个人来说,无论转型深入哪个,都是不错的。所以这一点学习成本上其实没有太大顾虑,主要在下面几点的考虑上。
2. 框架本身对比,优缺点
1)react的地位毋容置疑,vue作者都承认:
(尤雨溪原话)(后来Flutter和swiftUI的模仿也证明了React的影响力)
2)react的背后的是专业的facebook团队,其支持了facebook前端主站亿级访问量和群众审美,可为实地产品落地的标杆。
3)react本身框架的不断改进,新api hook的推出,整合了生命周期,引导开发者们提高代码质量和降低维护成本。而vue这方面一直以来都没多少创新,2版本的底层算法也是模仿的react,即将推出的3版本的Function-based Component目前在社区争议很大,vue为了支持ts改动太大。(而react天然支持ts)
4)react性能上的优化可以做到很好的控制,尤其和chrome dev tools的配合,做了component和Profiller的分离,Profiller可以录制和记录页面渲染的过程和数据,对组件渲染时间做了直观的展示。
5)对ts的支持,vscode插件的支持,tsx智能提示等,无疑react更好。(大猛哥曾夸赞其智能提示的支持)
3.周边生态
1)facebook官方就出了5000多个react的生态包,远远大于Vue。高质量的轮子其实大部分都在国外出生,国外几乎都选择的React。(Vue的用户量几乎是国人堆起来的,google treanding都可以看到数据)
2)React组件库业界标杆,蚂蚁金服的ant design,认真维护,issue能及时回复,不断更新,现象级的UI框架,业界无人不知。反观Vue的之前开源组件库标杆饿了么的ElementUI,现已停止维护,留下了很多bug和坑,谁用谁知道。
3)dva.js,阿里腾讯对中后台管理系统几乎用烂的解决方案,集成了antd,基于react,redux的一套工具的整合,养活了国内一大批人。一键生成目录架构,规范的redux数据流管理,集成redux-saga等。
4)可视化框架的封装,react的很多,bizcharts,react-echarts等,vue封装的微乎其微。
5)富文本的支持:
生态上React强于Vue毋容置疑。。。
4 一些数据对比
1)国内当前业界大型项目的选型:
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,因为他们大前端做Vue很久了,内部做开源了很多Vue的生态库,有Vue的技术积累,不靠社区靠自己;猿辅导整个技术栈为angular.js,因为重视协作性工程性,人员离职后便于后人接手便于backup。阿里百度都为React)
2)npm和yarn上的二者的下载量:
React碾压性数据上的优势。(当然这个比较“世界”,因为国内开发者一般都用的taobao镜像。)
5.兼容性问题
目前社区有很多类React前端框架,preact,京东自家的Nerv,react-lite,这些库能支持大部分react的api,且能兼容到低版本浏览器。(社区里面react类库比vue多的原因可参考:链接)
如果要兼容低版本浏览器,这些库就可以作为替代方案。(官方的react和vue早就不再支持IE8)
总结
在大多数PC Web上的大型复杂项目,React比Vue强几乎没啥争议。