Angular、React和Vue:哪个框架更适合你?
Angular、React和Vue都是非常优秀的前端框架,它们各自都有自己的优点和缺点。Angular是一个全能型框架,适合大型项目;React是组件化开发,适合构建复杂的单页面应用;Vue则是轻量级框架,易于上手且性能优秀。选择哪个框架取决于你的具体需求和团队的技术栈。如果你需要一个全能型的框架来构建大型项目,那么Angular可能是一个不错的选择;如果你需要构建复杂的单页面应用,那么React可能更适合你;如果你需要一个轻量级且易于上手的框架来快速开发原型或小型项目,那么Vue可能是一个更好的选择。
历史对比
Angular于 2010 年发布,基于 TypeScript 的 JavaScript 框架。 2016 年 Angular 2 的发布发生了重大转变(并且从原来的名称 AngularJS 中删除了“JS”)。 Angular 2+ 被称为Angular。尽管 AngularJS(版本 1)仍在更新,但我们将重点讨论 Angular。最新的稳定版本是 Angular 11,它于 2020 年 11 月发布。
Vue也称为 Vue.js,是该组中最年轻的成员。它由前 Google 员工 Evan You 在 2014 年开发。在过去三年中,Vue 的受欢迎程度发生了重大变化,尽管它没有得到大公司的支持。当前的稳定版本是 3.0,于 2020 年 9 月发布(此后有一些小的增量版本)。Vue 的贡献者由 Patreon 支持。应该注意的是,Vue 3 目前在它自己的 GitHub 存储库中,并且已经转移到 TypeScript。
React由 Facebook 开发,最初于 2013 年发布。Facebook 在其产品(Facebook、Instagram 和 WhatsApp)中广泛使用 React。当前的稳定版本是 17.X,于 2020 年 10 月发布(此后有较小的增量更新)
以下是 Angular、React 和 Vue 的简短总结,包括它们的状态和历史
AngularReactVue初始发行2010年2013年2014年官方网站angular.ioreactjs.orgvuejs.org当前版本1117.x3.0.x使用者谷歌,维克斯脸书、优步阿里巴巴、GitLab
人气对比
由于“angular”和“react”是常用词,因此很难从谷歌趋势中掌握它们的流行程度。尽管如此,他们受欢迎程度的一个很好的指标是他们的 GitHub 代码库获得的星数。2016 年年中,Vue 的星数突然发生了变化,最近,Vue 与 React 一起成为最受欢迎的框架之一。
Angular、React 和 Vue 的 GitHub 项目上的星数
让我们检查一下 Angular、React 和 Vue 的就业市场情况,这也是衡量受欢迎程度的一个很好的衡量标准:
市场使用率对比
表明就业市场趋势的最佳数据来源是各种就业委员会。
从 2018 年底的趋势来看,需要 Angular 或 React 技能的工作数量大致相同,而 Vue 的数量仍然只是这个数字的一小部分(大约 20%)。
如果您想获得更多最新的分析,您可以试试Google Trends 搜索,它分解了过去 12 个月React 工作、Angular 工作和Vue 工作的搜索趋势。数据嵌入如下:
如果您想查看您所在地区的求职趋势,Google 趋势还会按地理位置对其进行细分。
如果您严格从当前就业市场的角度来看,最好的选择是学习 Angular 或 React。但是,鉴于 Vue 在过去三年中越来越受欢迎,使用 Vue 的项目或采用 Vue 的新项目可能需要一些时间才能达到要求更多开发人员的成熟度。
社区与发展
现在您已经熟悉了每个框架的历史和近期趋势,我们将通过社区来评估这些框架的发展。我们已经看到,对于所有框架,过去一年都定期发布增量版本,这表明开发正在全面展开。
让我们看看 Angular、React 和 Vue 的 GitHub 代码库统计数据(并注意 Vue 数字还包括单独的 Vue 3.0 存储库):
AngularReactVue
Obserer
Star
Fork
Contributor
在比较 Vue 与 React 时,Vue 拥有大量的观察者、Star和Fork。这显示了 Vue 在用户中的受欢迎程度及其与 React 相比的价值。但是,Vue 的贡献者数量低于 Angular 和 React。
一种可能的解释是Vue 完全由开源社区驱动,而 Angular 和 React 有很大一部分 Google 和 Facebook 员工为存储库做出贡献。
从统计数据来看,这三个项目都表现出显着的开发活动,而且未来肯定会继续——只是这些统计数据不能成为决定不使用其中任何一个的基础。
您需要考虑的另一个指标是 GitHub 的“Used By”标志,它需要由存储库作者启用。这显示了 GitHub 上有多少其他存储库依赖于该存储库。Angular 的 GitHub 存储库显示有 170 万用户,React 目前显示近 570 万用户,而 Vue 显示其两个存储库的总和超过 167,000。三个框架之间存在很大差异,但这主要是因为 Vue 是较新的框架,并且不能说明整体需求的全貌。
组件资源对比
组件是所有三个框架的组成部分,无论我们是在谈论Vue、React还是 Angular。组件通常会获得一个输入,并根据它改变行为。此行为更改通常表现为页面某些部分的 UI 更改。组件的使用使得代码的重用变得容易。组件可能是电子商务网站上的购物车或社交网络上的登录框。
Angular:在 Angular 中,组件被称为指令。指令只是 DOM 元素上的标记,Angular 也可以跟踪和附加特定的行为。因此,Angular 将组件的 UI 部分分离为 HTML 标签的属性,并将它们的行为以 JavaScript 代码的形式分离。在查看 Angular 与 React 时,这就是它与众不同的地方。
React:有趣的是,React 结合了组件的 UI 和行为。例如,这里是 在 React 中创建 hello world 组件的代码。在 React 中,代码的同一部分负责创建 UI 元素并决定其行为。
Vue:在查看 Vue 与 React 时,在 Vue 中,UI 和行为也是组件的一部分,这让事情变得更加直观。此外,Vue 是高度可定制的,它允许您从脚本中组合 UI 和组件的行为。此外,您还可以 在 Vue 中使用预处理器而不是 CSS,这是一个很棒的功能。Vue 在与其他库(例如 Bootstrap )集成方面非常出色 。
总结
在这篇文章的结尾,让我们回顾一下每个框架的特性来尝试回答这个问题:Angular vs React vs Vue:你应该选择哪一个?
Angular是最成熟的框架,在贡献者方面有很好的支持,并且是一个完整的包。然而,学习曲线很陡峭,Angular 的开发概念可能会让新开发人员望而却步。对于拥有大型团队和已经使用 TypeScript 的开发人员的公司来说,Angular 是一个不错的选择。
React已经足够成熟,并且拥有大量来自社区的贡献。它获得了广泛的认可。React 的就业市场非常好,这个框架的未来看起来很光明。对于刚开始使用前端 JavaScript 框架的人、初创公司和喜欢灵活性的开发人员来说,React 看起来是一个不错的选择。与其他框架无缝集成的能力为那些希望代码具有一定灵活性的人提供了很大的优势。
Vue是最新的舞台,没有大公司的支持。然而,作为 Angular 和 React 的强大竞争对手,它在过去几年中做得非常好,尤其是随着 Vue 3.0 的发布。这可能与阿里巴巴和百度等许多中国巨头选择 Vue 作为他们主要的前端 JavaScript 框架有关。如果你喜欢简单,但也喜欢灵活性,Vue 应该是你的选择。
Angular 与 React 与 Vue 之争的答案是没有绝对正确的选择,这是您可能预期的结论。
这些库中的每一个都有自己的优点和缺点。根据您正在处理的项目和您的个人要求,其中一个将比其他更合适。在决定之前做自己的研究总是很关键的,特别是如果你要从事商业冒险而不是个人项目。