InfoQ Vue、React和Angular:该选择哪个框架?
作者|InVerita
译者|Sambodhi
策划|蔡芳芳
本文对三个最流行的JavaScript框架进行了全面的比较:Vue、React和Angular , 如果你是正在开发或者目前正在考虑使用这些流行框架之一来启动项目的开发人员 , 我们希望本文对你选择正确的解决方案能有所帮助 。
本文最初发表在Medium博客 , 经原作者inVerita公司授权 , InfoQ中文站翻译并分享 。
近几年 , 前端领域出现了两大玩家:Google发布的Angular、Facebook开发的JavaScript库React 。 在2018年 , 又有一个实力雄厚的玩家加入了这场竞争:Vue.js , 它很直白地表示出了自己的豪心壮志——立志成为最受欢迎的JavaScript框架 。
在深入了解这些流行框架的总体比较之前 , 让我们先看看它们的起源 。
Vue、React和Angular简史
Angular
Google的一名员工MiskoHevery当时正在做一个副业项目 , 旨在简化构建Web应用程序的过程 。 他在2010年将解决方案作为开源项目发布 , 名为AngularJS , 并被一些知名企业积极使用 。
几年后 , 由于JavaScript有了新的进展 , 团队被迫将AngularJS基于TypeScript重写 , 为了避免混淆 , 新框架名称去掉了“JS” 。 Angular每年更新两次 , 上一次更新是2020年2月6日发布的Angular9 。
React
在JavaScript框架中 , React一直处于领先地位 , 它最初是Facebook为满足其产品需求而开发的 , 并于2013年成功地向技术受众展示并开源 。 React的精髓源于JordanWalke创建的早期原型——Fax.js , 该原型于2011年首次部署在Facebook的新闻源中 。 React最新版本为16.13.0 , 于2020年2月26日发布 。
Vue.js
【InfoQ Vue、React和Angular:该选择哪个框架?】Google前雇员EvanYou在与Angular合作多年后 , 决定自己创建一个轻量级框架 , 其中将包含上述框架的最佳特性 。 新框架Vue.js于2014年2月开源 , 从那时起 , Vue.js就获得了极高的人气 。 最新版本为2.6Macross , 于2019年2月4日发布 。
框架流行度
Angular和React是一对由来已久的对手 。 它们都是功能强大、最新、使用广泛的JavaScript框架 , 并且都面临着一个重大的变化:它们之间的竞争变成了一场流行度的较量 。 我们将通过四个主要指标来找出最流行的框架:NPM趋势、StackOverflowSurvey、GitHubstars和公开的职位招聘 。
1.在NodePackageManager报告中 , React仍然是最流行的JavaScript框架 。 从2018年12月到2020年7月这段时间 , 它的年下载量大约是Vue.js的5倍 , 是Angular的13倍 。
文章图片
各框架的年下载量
2.根据2019年StackOverflow开发人员调查结果 , React最受开发人员喜爱(74.5%)、其次是Vue.js(73.6%) , 最后是Angular.js(57.6%) 。
文章图片
开发人员最喜欢的Web框架
3.第四次JavaScriptRisiingStars统计了GitHub每年新增的星数 , 显示了惊人的统计数据:Vue.js以31.4k星排名第一 , React以22.4k星排名第二 , Angular.js以12k星排名第四 。
4.2020年7月8日在Indeed招聘网站搜索的结果显示:在美国 , React有43678个招聘职位 , Angular有10458个招聘职位 , 而Vue.js仅有1391个招聘职位 。
因此 , 我们可以认为 , React在工作岗位方面是个赢家 , 在开发人员中的受欢迎程度经久不衰 。 尽管如此 , 我们也可以看到 , 由于Vue.js社区坚定的支持 , Vue.js与React的对立情绪越来越激烈 。 Angular保持着稳定的中间地位 , 得到了来自开发商和雇主双方的积极反馈 。
框架组件
框架的性能是由最有价值的部分——它的组件决定的 。 它们的工作流与接收输入数据的方式以及对数据的响应方式有关 。
- InfoQ 22款好用的CLI工具
- InfoQVue、React和Angular:该选择哪个框架?
- InfoQ去Oracle实录:如何在线更换金融核心场景中的数据库?
- InfoQ Gateway,云原生时代的流量入口:Envoy
- 轻拔琴弦|混淆保护需正确命名!看.NET代码保护工具.NET Reactor如何规定
- InfoQ低门槛构建云端生态:华为云为企业铺就生产力提升捷径 | Q推荐
- InfoQiOS工程师的自我修养 | 极客时间
- InfoQ如何基于 DDD 构建微服务?
- tablevue element-ui实现Table表格行内编辑
- InfoQNo Code革命为什么现在爆发?