Angular在前端开发中输给了React吗?如何选择适合的框架

这是Aphinya Dechalert先生于2019年5月1日在Medium上发布的“由于React,Angular是否正在消亡?”的日文翻译。

简而言之

在这篇文章中,他们提到了固守一个框架的危险性,同时给出了以下建议,当在选择React和Angular时感到困惑的时候。

在需要追求速度的项目或者预算紧张的项目中,React 可能会遇到一些困难。
如果你愿意用学习成本来换取一个强健、结构严密的框架,那么 Angular 将是首选。

以下是对应的日文翻译,请结合原文一同阅读。其中还提及了Vue.js。


Angular是被React打败了吗?

关于Web开发的未来

在前端开发领域,随着流行趋势向React倾斜,人们开始质疑Angular的未来需求。对于那些正在纠结该选择哪个框架的人来说,这个问题无疑是非常重要的。

因为Facebook将React的许可证从BSD更改为MIT,React在全球各个领域中传播开来。
然而,React只是一个可以快速扩展小型应用程序的基于组件的库,并不是完美的前端系统。许多创业者和初创公司对此并不了解。

关于React和Angular的争论

作为 React 优秀性的证明,Facebook 被作为典型的成功案例提到。
然而,React 只是众多技术之一,只能说是 JavaScript 的一个 UI “库”而已。

关于 Angular,它是一个由多个库组成的紧密协作的个体集合。

在React与Angular之间,有一些React拥有但Angular中不存在的特点。与此同时,从理论实现的角度来看,React也优于Angular。

一般来说,开发者往往会高估自己所理解的技术,并且较难接受更适合的范式的存在。这种思维方式会限制开发者的思考,并最终阻碍其成长。

尽管React很受欢迎,但是Angular能够保持强大的支持,这完全得益于科技巨头谷歌的力量。在这两个前端系统中,各自的大会和开发者倡导者的力量/规模几乎相同,并且相互竞争。然而,同时我们也不能忘记Angular和React之间(当前的)一个小角色…

让我们谈谈Vue。

Vue作为一名新兴的新人,正试图在两者之间插入,并超越React。

Vue不仅轻量,而且比Angular更简单,比React在功能上更具优势。尽管社区规模较小,但基于这些优点,支持者的数量还在不断增加。

我认为Vue的创建者在充分了解AngularJS的优点和缺点后,可能更多地受到React的影响,与Angular相比更接近其根本主义和思想。

关于采用和开发者支持的易用性

React 在初级开发者中很受欢迎,因为它容易学习并能够轻松迁移到React Native,实现移动应用的转换。

一方Angure相对于React来说稍微庞大一些,初学成本较高。它拥有Java的思想和概念,并且在Google的后端技术思想在代码中普遍存在。

开始比较两者的话不知道从何开始,但重要的是,由于强大的社区支持,React和Angular都可以很容易地入门。
然而,在初创公司中,考虑到尽快推向市场和对流行趋势和需求的即时响应,可以说React的比例略微偏高。

然而,许多公司并没有意识到React的低进入门槛可能会降低代码质量。
如果每个开发者都按照自己的方式进行学习并编写代码,产品的质量将难以维护。
在这一点上,并不是说Angular占优势,但可以肯定的是Angular具备能够防止这种情况的结构。

Vue似乎不卷入React和Angular之间的争论中,这对开发者来说是一个好消息。

Netflix 是用什么的技术来运行的。

Netflix在基础设施和后端领域主要采用React技术。在Netflix庞大的生态系统中,前端React所占比例较小。

PayPal正在使用Angular来渲染HTML。

尽管Netflix和PayPal都是规模相当大的公司(服务),但Netflix完全不使用Angular,而PayPal也不使用React。它们分别采用了对方不采用的技术。

尽管每家公司存在代码遗留等问题,但由于有足够的资金来雇佣能够解决问题的新工程师,所以在代码运营方面似乎没有问题。

关于Vue,需要提及的是,自2016年起,GitLab一直在使用它。

應該考慮適合問題解決的工具。

目前只有一个选项:

关于哪个库/框架更好,人们只争论这件事,“哪个更适合项目”这个问题,却没有人愿意问。

在需要速度的项目或预算紧张的项目中,React可能会很合适。
如果你希望有一个坚固稳定的结构,即使需要投入学习成本,Angular将成为首选。
如果想要两者兼得,毫无疑问,Vue会提供给你(这是Vue的粉丝们常说的)。

在前端生态系统的主导地位上,尽管React正在努力争夺,但Angular依然备受欢迎,且稳步地获得了人们的青睐。

而且,这也是一个需要注意的事项,Angular 在从 AngularJS 迁移时,在社区中进行了一次大规模改革。
尽管有许多支持者,但他们不得不重新学习 Angular 2…。

然而,由于新的Angular完全与现有的Angular截然不同,因此它比React更年轻三岁,这是一种积极的意义。

结论

如果无法决定选择哪项技术……就不要想太多了。
毕竟,无论如何,它们都是用JavaScript实现的,所以让我们先开始动手吧。

无论选择哪个框架/库,如果后来需要使用其他技术,先前学到的技术思维肯定会派上用场。

为了成为所谓的资深程序员,需要对各种系统都有精通的理解,不能过于固执于某一种技术。重要的是深入理解架构,设计/开发组件,理解数据流在状态管理系统中的作用……有很多重要的事情需要注意。

在深入理解这些技术的基础上,能否将其应用于实际工作,这一点可以说是初级和中级工程师与资深工程师之间的界限。


思考与附加说明(译者)

我突然有机会接触Angular, 在急速收集信息时发现了这篇文章。

尽管我在日本国内感觉对于Angular的采用案例相对较少,但根据StackOverflow的2019年开发者调查结果,Angular在最受欢迎技术排行榜中名列前三。(第一名是jQuery,第二名是React)。

在这篇文章的“结论”部分,作者所陈述的内容是作为一名工程师应该意识到的重要事项,但由于我是个粗心的人,有时候容易忘记。所以我打算时刻警醒自己可以回到这个思维方式,并且现在就翻译了它。

如果原文中有任何奇怪之处,请指出,将不胜感激。

广告
将在 10 秒后关闭
bannerAds