在这里插入图片描述
就在几年前,开发人员主要在争论是否应该在项目中使用Angular vs React。但是在2018年和2019年期间,我们看到了名为Vue.js的第三个“”团体“”的加入混战。展望2020年,这篇文章是一个综合指南,可能是您合适的解决方案:Angular,React,Vue。

如果您是从项目开始的开发人员,并且无法决定要使用哪个JavaScript框架,那么本指南应该可以帮助您做出决定。

我们介绍了Angular,Vue和React的各个方面,以了解它们如何满足您的需求。这篇文章不仅是有关Angular vs React vs Vue的指南,而且旨在提供一种结构来帮助总体判断前端JavaScript框架。万一明年有一个新的框架出现,您将确切知道要看哪些参数!

在本文中,我们假设您具有JavaScript的基本知识,并且也使用过JavaScript框架。

第1部分:Vue,React和Angular的简要历史

在讨论技术细节之前,让我们先讨论一下这些框架背后的历史 -只是为了更好地欣赏它们的理念和随着时间的推移而发展。

由Google开发的 Angular于2010年首次发布,使其成为历史最悠久的产品。它是基于TypeScript的JavaScript框架。2016年,Angular 2的发布发生了重大变化(并且从原名称AngularJS删除了“ JS”)。Angular 2+被称为 Angular。尽管AngularJS(版本1)仍得到更新,但我们将讨论重点放在Angular上。最新的稳定版本是Angular 9,该版本于2020年2月发布。
由Facebook开发的 React最初于2013年发布。Facebook在其产品(Facebook,Instagram和WhatsApp)中广泛使用React。当前的稳定版本是16.X,于2018年11月发布(此后具有较小的增量更新)。
Vue,也称为Vue.js,是该小组中最年轻的成员。它是由前Google员工Evan You于2014年开发的。在过去的三年中,Vue的知名度发生了巨大变化,即使它没有大型公司的支持。当前的稳定版本是2.6,于2019年2月发布(此后有一些小的增量版本)。Vue的贡献者 得到Patreon的支持。目前处于Alpha阶段的 Vue 3 计划 迁移到TypeScript。
AngularReactVue
发布时间201020132014
官方网站angular.ioreactjs.orgvuejs.org
包大小(大约、*.min.js)500kb100kb80kb
使用者Google,WixFacebook,优步阿里巴巴,GitLab

执照
在使用开源框架之前,请确保您已通过其许可。有趣的是,这三个框架都使用 MIT许可证,该许可证即使在专有软件中也对重用提供了有限的限制。在使用任何框架或软件之前,请确保您了解许可证的含义。

这是 简单明了的MIT许可证的摘要

人气度 🔥
由于“Angluar”和“React”是常用词,因此很难从Google趋势中把握它们的受欢迎程度。虽然,它们受欢迎程度的一个很好的代表是 其GitHub存储库获得的星数。Vue的星级数量突然发生变化,发生在2016年中期,最近,Vue跻身最受欢迎的框架之列。

在这里插入图片描述
让我们检查一下Angular,React和Vue的就业市场如何,这也是衡量受欢迎程度的好方法:
在这里插入图片描述
从2018年末的趋势可以看出,需要Angular或React技能组的工作数量大致相同,而Vue仍然只是这个数字的一​​小部分(约20%)。该列表绝对不是详尽无遗的,但可以很好地说明整个技术行业。

如果您从当前的就业市场的角度严格看待,最好的选择是学习Angular或React。但是,鉴于Vue在过去三年中获得了普及,因此项目可能需要一些时间才能使用Vue,或者采用Vue的新项目达到要求更多开发人员的成熟度水平。

第二部分:社区与发展

现在您已经熟悉了每个框架的历史和趋势,我们将着眼于社区来评估这些框架的发展。我们已经看到,对于所有框架,过去一年中定期发布了增量版本,这表明开发工作正在全面进行。

让我们看一下Angular vs React vs Vue关于其GitHub存储库的统计信息:

AngularReactVue
Watchers(关注量)3.2k6.6k6.0k
Stars(获赞)57k144k157k
Forks(分支)15.9k27.6k23.7k
Contributors(贡献人)1,0891,361289

Vue有大量关注量,获赞量和分支。这显示了它在用户中的流行度以及在比较Vue与React时的价值。但是,Vue的贡献者数量低于Angular和React。

一种可能的解释是,Vue完全由开源社区驱动,而Angular和React在贡献知识库的Google和Facebook员工中占有很大份额。

从统计数据来看,这三个项目都显示出重要的开发活动,并且肯定会在未来继续下去-只是这些统计数据不能成为不决定使用其中任何一个的基础。

第3部分:迁移

当您使用自己选择的框架时,您不必担心会出现框架更新并弄乱代码的情况。尽管在大多数情况下,从一个版本到另一个版本,您不会遇到很多问题,但重要的是要紧跟潮流,因为某些更新可能更重要,并且需要进行调整以保持兼容。

Angular 计划 每六个月进行一次重大更新。还需要再过六个月的时间才能淘汰所有主要API,这使您有两个发布周期(一年)的时间来进行必要的更改(如果有)。

当谈到Angular vs React时,Facebook表示 稳定性 对他们至关重要,因为Twitter和Airbnb等大公司都在使用React。在React中,通过版本升级通常是最简单的,诸如react-codemod之类的脚本 可 帮助您进行迁移。

在FAQ的“迁移”部分中,Vue提到,如果您从1.x迁移到2,则 90%的API是相同的。 控制台上有一个 迁移帮助器工具,可以评估您的应用程序状态。

第4部分:使用Vue,Angular,React

这里有几个重要的特征需要考虑,主要特征是总体大小和加载时间,可用的组件以及学习曲线。

大小和加载时间

库的大小如下:

Angular 4+:取决于产生的捆绑包大小
React:116 KB
Vue:91 KB
尽管框架大小之间存在显着差异,但与平均网页大小相比仍然很小(2018年为2+ MB)。此外,如果使用流行的CDN加载这些库,则用户很有可能已经在其本地系统中加载了该库。

组件

组件是所有三个框架的组成部分,无论我们说的是Vue,React还是Angular。组件是人机交互的响应。此行为更改通常表现为页面某些部分的UI更改。组件的使用使重用代码变得容易。组件可以是电子商务站点上的购物车,也可以是社交网络上的登录框。

在Angular中,组件称为 指令。指令只是DOM元素上的标记,Angular也可以跟踪和附加特定行为。因此,Angular将组件的UI部分作为HTML标签的属性分离,并将它们的行为以JavaScript代码的形式分离。这就是在Angular vs React上与众不同的地方。
有趣的是,React结合了用户界面和组件的行为。例如, 以下代码在React中创建一个hello world组件。在React中,代码的同一部分负责创建UI元素并指示其行为。
在Vue中,UI和行为也是组件的一部分,这使得在查看Vue vs React时事情变得更加直观。另外,Vue具有高度可定制性,可让您从脚本中组合UI和组件的行为。此外,您还可以 在Vue中使用预处理器而不是CSS,这是一个不错的功能。当与其他库(例如Bootstrap)集成时,Vue很方便。

学习曲线

那么学习每个框架有多困难?

考虑到这是一个完整的解决方案,Angular的学习曲线很陡,掌握Angular要求您学习相关的概念,例如TypeScript和MVC。尽管学习Angular需要花费时间,但这项投资在了解前端的工作方式方面仍能带来回报。
React提供了一个 入门 指南,应该可以在一个小时内帮助您设置React。该文档是完整而完整的,并提供了Stack Overflow中已经存在的常见问题的解决方案。React不是一个完整的框架,高级功能需要使用第三方库。这使得核心框架的学习曲线不是那么陡峭,而是取决于您使用其他功能的途径。但是,学习使用React并不一定意味着您正在使用 最佳实践。
Vue 提供了更高的可定制性,因此比Angular或React更易于学习。此外,Vue在功能(如使用组件)方面与Angular和React重叠。因此,从两者之一过渡到Vue是一个简单的选择。但是,Vue的简单性和灵活性是一把双刃剑–它允许较差的代码,从而使其难以调试和测试。

尽管Angular,React和Vue具有明显的学习曲线,但掌握之后他们的应用场景是广泛的。例如,您可以将Angular和React 与WordPress和WooCommerce集成 以创建渐进式Web应用程序。

Angular vs React vs Vue:谁赢了?

在本文即将结束时,让我们回顾一下每个框架的特征以尝试回答以下问题:Angular vs React vs Vue:您应该选择哪一个?

Angular是最成熟的框架,在贡献者方面有很好的支持,并且是一个完整的软件包。 但是,学习曲线陡峭,Angular中的开发概念可能会推迟新开发人员。 对于拥有大型团队的公司和已经使用TypeScript的开发人员而言,Angular是一个不错的选择。 额外👉这是您可能感兴趣的一些Angular管理仪表板模板。
React的年龄已经足够大,可以成熟了,并且得到了社区的巨大贡献。它已被广泛接受。React的就业市场真的很好,这个框架的未来看起来一片光明。 对于喜欢一些灵活性的前端JavaScript框架,初创公司和开发人员来说,React似乎是一个不错的选择。与其他框架无缝集成的能力为那些希望在其代码中具有一定灵活性的人提供了很大的优势。
没有大型公司的支持,Vue是最新的竞技场。 但是,在过去几年中,它作为Angular和React的强大竞争对手表现非常出色。这可能在阿里巴巴和百度等许多中国巨头选择Vue作为其主要前端JavaScript框架的过程中发挥了作用。 然而,它在未来的表现还有待观察,人们对此持谨慎态度是合理的。如果您喜欢简单,但也喜欢灵活性,那么Vue应该是您的选择。 额外👉这里是您可能感兴趣的一些使用Bootstrap构建的Vue管理模板。

关于Angular vs React vs Vue的辩论的答案是,没有绝对正确的选择,您可能已经期望过。

这些库中的每一个都有其自身的优点和缺点。根据您正在从事的项目以及您的个人需求,其中一项将比其他项更适合。在做出决定之前进行自己的研究始终是关键,特别是如果您要从事商业活动而不是个人项目。

写在最后,这篇文章翻译于国外的网文,说实话比起web这三种框架,本笔者更推荐使用 airoot-uisys。web三框架虽然实现了模块化的思想和企业开发流程,但是并没有从根上解决web开发的痛点。只是开辟了各自的开发思想,可是web开发的思想就是简单、易用、直接。web前台开发的根基就是自由,如果过于限制开发人员的编写思想,最终的结果就是“弱化的程序员”,即 “手拿画笔的前端人员变为背着打印机的麻木工人”。

您认为这里的赢家是Angular VS React VS Vue?请在下面的评论中告诉我们。

推荐浏览下这篇文章:“airoot-uisys” 释放前端开发活力

Logo

前往低代码交流专区

更多推荐