当前位置: 首页 > 科技观察

AngularvsReactvsVue:2021年选择哪个框架

时间:2023-03-17 11:45:30 科技观察

这篇文章是一份综合指南,可能是适合您的正确解决方案:AngularvsReactvsVue。就在几年前,开发人员还在争论他们是否应该在他们的项目中使用Angular和React。但在过去的几年里,我们看到人们对Vue.js的第三方播放器越来越感兴趣。如果您是刚开始一个项目的开发人员并且不能决定使用哪个JavaScript框架,那么本指南应该可以帮助您做出决定。在这里,我们将介绍Angular、Vue和React的各个方面,看看它们如何满足您的需求。这篇文章不仅仅是AngularvsReactvsVue的指南,而是旨在提供一个结构来帮助判断前端JavaScript框架的一般情况。如果明年出现新框架,您将确切知道要查看哪些参数!让我们开始吧:第1部分:Vuevs.Reactvs.Angular的简史在我们进入技术细节之前,让我们谈谈这些框架背后的历史——只是为了更好地理解它们的理念以及它们是如何随着时间的推移而演变的。(1)一切如何开始由Google开发的Angular于2010年首次发布,是历史最悠久的。它是一个基于TypeScript的JavaScript框架。2016年发布的Angular2发生了重大转变(并从其旧名称AngularJS中删除了“JS”)。Angular2+称为Angular。尽管AngularJS(版本1)仍在更新中,但我们将专注于Angular。最新的稳定版本是Angular11,于2020年11月发布。也称为Vue.js,Vue是该组中最年轻的成员。它由前Google员工EvanYou于2014年开发。Vue的受欢迎程度在过去三年中发生了显着变化,尽管它没有大公司的支持。当前的稳定版本是3.0,于2020年9月发布(此后发布了一些较小的增量版本)。Patreon支持Vue的贡献者。应该注意的是,Vue3目前在其自己的GitHub存储库中,并已移至TypeScript。React由Facebook开发,最初于2013年发布。Facebook在其产品(Facebook、Instagram和WhatsApp)中广泛使用React。当前稳定版本为17.X,于2020年10月发布(此后有少量增量更新)以下是Angular、React和Vue的简短摘要,包括它们的状态和历史:(2)LicenseinuseBeforeopen-sourcing一个框架,确保通过它的许可证。有趣的是,这三个框架都使用MIT许可证,该许可证对重用提供了有限的限制,即使在专有软件中也是如此。在使用任何框架或软件之前,请确保您了解许可证的含义。(3)流行度由于“angular”和“react”是常用词,很难从谷歌趋势中掌握它们的流行度。尽管如此,他们受欢迎程度的一个很好的指标是他们的GitHub存储库获得的星数。2016年年中,Vue的star数量突然发生变化,最近Vue与React一起成为最流行的框架之一。Angular、React和Vue在GitHub项目上的星星让我们看看Angular、React和Vue的就业市场,这也是衡量受欢迎程度的一个很好的指标:(4)JobsforAngularvsReactvsVue市场上最好的数据来源表明就业市场趋势的是各种就业委员会。从2018年底的趋势来看,需要Angular或React技能的工作岗位数量差不多,而Vue的数量仍然只是这个数字的一??小部分(约20%)。如果你想要更多最新的分析,你可以试试谷歌趋势搜索,它分解了过去12个月的React职位、Angular职位和Vue职位的搜索趋势。数据嵌入如下:如果您想查看您所在地区的求职趋势,GoogleTrends还会按地理位置对其进行细分。如果您严格关注当前的就业市场,最好的选择是学习Angular或React。然而,鉴于过去三年Vue的日益流行,使用Vue的项目或采用Vue的新项目可能需要一些时间才能达到需要更多开发人员的成熟度水平。第2部分:社区和发展现在您已经熟悉了每个框架的历史和最近的趋势,我们将使用社区来评估这些框架的发展。我们看到,对于所有的框架,在过去的一年里,增量版本都在定期发布,这表明开发正在如火如荼地进行。让我们看看Angular、React和Vue的GitHub代码库统计数据(注意Vue数字还包括单独的Vue3.0存储库):在比较Vue和React时,Vue有大量的观察者、星星和叉子。这显示了Vue在用户中的受欢迎程度及其与React相比的价值。但是,Vue的贡献者数量少于Angular和React。一种可能的解释是Vue完全由开源社区驱动,而Angular和React有很大比例的Google和Facebook员工为存储库做出贡献。从统计数据来看,这三个项目都显示出重要的开发活动,并且肯定会在未来继续-只是这些统计数据不能成为决定不使用其中任何一个的基础。您需要考虑的另一个指标是GitHub的“UsedBy”标志,它需要由存储库作者启用。这显示了GitHub上有多少其他存储库依赖于此存储库。Angular的GitHub存储库显示有170万用户,React目前显示有近570万用户,Vue显示其两个存储库加起来超过167,000。这三个框架之间存在很大差异,但这主要是因为Vue是一个较新的框架,并不能说明整体需求的全貌。第3部分:迁移当您使用您选择的框架时,您不必担心框架更新的到来和弄乱您的代码。虽然在大多数情况下,从一个版本到另一个版本不会有太多问题,但重要的是要密切关注脉搏,因为某些更新可能更重要,需要进行调整以保持兼容性。Angular计划每六个月进行一次重大更新。在任何主要API被弃用之前还有六个月的时间,这为您提供了两个发布周期(一年)来进行必要的更改(如果有的话)。当谈到Angular与React时,Facebook表示稳定性对他们来说是最重要的,因为像Twitter和Airbnb这样的大公司都使用React。按版本升级通常是React中最简单的,使用像react-codemod这样的脚本可以帮助您完成迁移。在Vue3文档的迁移部分,Vue提到Vue2和Vue3之间有很多相似之处,如果从1.x迁移到2,90%的API是相同的。有一个Vue2到Vue1的迁移助手,可以在控制台上运行以评估应用程序的状态。第4部分:使用Vue、Angular和React这里有一些需要注意的重要特性,主要是整体大小和加载时间、可用组件和学习曲线。(1)大小和加载时间库的大小不会是一个重要因素,因为缓存和缩小现在已经很标准了。虽然框架的大小可能存在显着差异(例如Angular是最大的),但与平均网页大小(根据最新数据约为2MB)相比,它们仍然很小。此外,如果您使用流行的CDN加载这些库,用户很可能已经在他们的本地系统上加载了这些库。(2)组件组件是所有三个框架不可或缺的一部分,无论我们谈论的是Vue、React还是Angular。组件通常会获取输入并根据输入更改行为。这种行为变化通常表现为页面某些部分的UI变化。组件的使用使代码重用变得容易。组件可能是电子商务网站上的购物车或社交网络上的登录框。Angular:在Angular中,组件称为指令。指令只是DOM元素上的标记,Angular还可以跟踪这些元素并将特定行为附加到这些元素上。因此,Angular将组件的UI部分分离为HTML标签的属性,它们的行为以JavaScript代码的形式出现。这就是Angular与React的区别所在。React:有趣的是,React结合了UI和组件的行为。例如,下面是在React中创建一个helloworld组件的代码。在React中,同一部分代码负责创建UI元素并确定它们的行为。Vue:在比较Vue与React时,在Vue中,UI和行为也是组件的一部分,这使事情变得更加直观。此外,Vue是高度可定制的,允许您从脚本中组合UI和组件行为。此外,您可以在Vue中使用预处理器而不是CSS,这是一个很棒的功能。Vue非常擅长与其他库集成,例如Bootstrap。(3)学习曲线那么学习这些框架有多难呢?Angular:Angular具有陡峭的学习曲线,因为它是一个完整的解决方案,掌握Angular需要您学习相关概念,如TypeScript和MVC。尽管学习Angular需要时间,但在了解前端的工作原理时,投资会得到回报。Reaact:React提供了一个入门指南,可以帮助人们在大约一个小时内设置好React。该文档详尽而完整,并为StackOverflow上已有的常见问题提供了解决方案。React不是一个完整的框架,高级功能需要借助第三方库。这使得核心框架的学习曲线不那么陡峭,而是取决于您采用附加功能的路径。但是,学习使用React并不一定意味着您正在使用最佳实践。Vue:Vue提供了更高级别的可定制性,因此比Angular或React更容易学习。此外,Vue在功能(例如组件的使用)方面与Angular和React重叠。因此,从两者中的任何一个过渡到Vue都是一个简单的选择。然而,Vue的简单性和灵活性是一把双刃剑——它允许糟糕的代码,使得调试和测试变得困难。虽然Angular、React和Vue的学习曲线很长,但一旦掌握它们的用途是无穷无尽的。例如,您可以将Angular和React与WordPress和WooCommerce集成以创建渐进式Web应用程序。(4)AngularvsReactvsVue:谁是赢家?在本文的最后,让我们回顾一下每个框架的特性,尝试回答这个问题:AngularvsReactvsVue:你应该选择哪个?Angular是最成熟的框架,得到了贡献者的大力支持和完整的软件包。然而,学习曲线陡峭,而且Angular的开发概念可能会让新开发人员望而生畏。对于拥有大型团队和已经在使用TypeScript的开发人员的公司来说,Angular是一个不错的选择。React足够成熟并且有很多来自社区的贡献。它获得了广泛的认可。React的就业市场很好,框架的未来一片光明。对于那些刚开始使用前端JavaScript框架的人、初创公司和喜欢灵活性的开发人员来说,React看起来是个不错的选择。与其他框架无缝集成的能力为那些希望代码具有一定灵活性的人提供了很大的优势。Vue是最新的阶段,没有大公司的支持。但是,作为Angular和React的有力竞争者,它在过去几年里做得非常好,尤其是随着Vue3.0的发布。这可能与阿里巴巴和百度等许多中国巨头选择Vue作为他们的主要前端JavaScript框架有关。如果您既喜欢简单又喜欢灵活性,那么Vue应该是您的选择。Angularvs.Reactvs.Vue之争的答案是没有一个正确的选择,这是你可能期望的结论。这些库中的每一个都有自己的优点和缺点。根据您正在进行的项目和您的个人要求,其中一个将比另一个更合适。在决定之前进行自己的研究始终是关键,特别是如果您要进行商业投资而不是个人项目。本文由文殊奇武翻译自ShaumikDaityari的文章《Angular vs React vs Vue: Which Framework to Choose in 2021》,转载请注明出处,原文链接:https://www.codeinwp.com/blog/angular-vs-vue-vs-react/)