React对Angular有不好的影响吗?

该材料的作者(我们今天将其翻译发表)提供了有关Web开发的未来的思考。 随着技术的流行趋势开始向React库转移,人们很容易就感觉到Angular框架将成为现实的重要性这一问题的重要性。 显然,最终只有一种技术会获得第一名,这迫使Web开发人员,尤其是刚刚起步的开发人员,想知道该选择什么。



自从Facebook将React许可从BSD更改为MIT以来,该库似乎在全球Web开发市场的每个角落都蓬勃发展。 但是,商人和初创公司通常也不会立即理解这一点,React并不是用于前端开发的全面系统。 这只是一个库,是许多构建块之一,其中许多块有助于快速将一个小型应用程序转变为一个较大的项目,并成为一个基于彼此隔离的组件的系统。

对抗React和Angular


Facebook通常被用作React成功的典范。 但是,这个库只是该技术巨头使用的大量技术的沧海一粟。 毕竟,它只是一个用于开发接口的JavaScript库。

另一方面,Angular是一组库,这些库一起工作,形成一个整体。

有一些可以通过Angular定性解决的任务,这在React中被完全忽略了,而在React中则有些事情效率更高。 开发人员将始终倾向于他们知道的事实,因此,他们甚至不会尝试着眼于其他可能更适合其情况的范例。 或者,这类思维通常是新手和中级开发人员的特征。

尽管React越来越受欢迎,但人们不应忘记Angular受到了一家规模不亚于Facebook甚至超过Facebook的公司的大力支持。 关于Google。 同时,围绕着由Angular和React提倡的前端开发方法论开发了同样强大的生态系统,其中发生了严重的事件,以及倡导这种技术的主要专家。 的确,根据Angular和React的不同,从它提供给开发人员的角度来看,还有另一种技术正在流行。 这是Vue框架。

Vue



来自Google趋势的数据。 红线-角,蓝-反应,黄-Vue

Vue框架是前端开发工具“类”的新手,其流行度正在逐步提高,因此,在谈论React和Angular时,我们不要忘记它。 尽管Vue周围的社区比Angular和React社区小得多,但Vue越来越受欢迎的事实可以解释为它是一种轻量级的工具,不像Angular那样复杂,但是为程序员提供了比基本React功能所提供的功能更多的功能。

Vue的创建者对AngularJS框架非常熟悉。 它所基于的原理比现代Angular的要强大得多,让人联想到React的基本原理。

技术采用的挑战和程序员的习惯


毫无疑问,很容易弄清楚React,只需基于该库创建一个功能齐全的应用程序,就可以毫无问题地将其转换为本地移动应用程序。 该库在初学者中很流行。

在基于此框架创建某些内容之前,要掌握Angular更加困难,您将不得不处理一些其他事项。 该框架借鉴了Java概念和意识形态,这是一种主要用于后端开发的技术,在Google的软件基础架构中起着至关重要的作用。 另一方面,在Facebook上,PHP被广泛使用,因此对React所采用的这种语言的原理产生了深远的影响。

您可以整日轻松地比较React和Angular,但是从此比较中得出的最重要的一点是,这两个系统均以强大的社区为特色,并且能够吸引具有某些技术经验的程序员。 应当指出的是,初创企业更倾向于React,因为它们努力确保所使用的工具为开发人员提供最低程度的额外负担。 他们的生存取决于他们进入市场的速度,满足需求的能力以及适应趋势的准确性。

但是许多创业公司错过了一件重要的事情:进入门槛越低,质量越低。 随着越来越多的自学成才的程序员依赖于React周围的社区资源,某些事物(例如编程范例和代码清洁度)逐渐淡出了背景。 这并不是说在Angular环境中一切都会好得多,但是对于Angular,程序员必须在该框架规定的相当严格的框架中工作。 React没有这样的框架。

Vue拥有自己的小型生存空间,该框架旨在为Angular或React这个更好的问题的答案,对于那些不想启动交战方之一的障碍者,启动Web开发人员之路的人来说。

什么使用netflix?


事实证明,Netflix与许多其他技术和基础架构工具一起使用React。 如果您想象一个应用程序设备,可以说是从鸟瞰图来看,那么事实证明,前端技术仅占该项目所使用内容的一小部分。

另一方面,贝宝(PayPal)使用Angular,它会在公司资源生成的HTML代码中到处发现ng字符序列。


贝宝HTML

Netflix和PayPal是占领某些市场领域的大型公司。 就Google和Facebook的关联而言,两者都与Angular或React完全无关。 但是,这两家公司分别选择React或Angular,都借助一种或另一种技术来解决开发其应用程序接口的任务。

在这里我们可以说遗留代码或其他任何因素影响了这些公司对技术的选择。 但是两家公司都有足够的资源来聘请所需数量的程序员,以使用选定的技术来处理其代码。

顺便说一句,有趣的是,自2016年以来,GitLab就使用Vue

该工具不是主要内容。 最主要的是解决问题


有一种感觉,在关于哪种技术比另一种技术更好的激烈辩论中,他们忘记了一个非常重要的问题,那就是什么才最能够解决某个问题,从而帮助实现某个目标。

如果目标是开发速度快且预算少,那么最好去看一下React。 如果您需要更雄心勃勃,整体性强并且更适合共享的东西,那么由于开发人员需要对这套工具进行相当认真的研究而允许创建更可靠的解决方案的一套工具,那么您应该选择Angular。 但是,如果您需要从React和Angular的世界中获得最好的收益,该怎么办? 在这种情况下,Vue的拥护者肯定会看到他们喜欢的框架的一个很好的例子。

Angular的受欢迎程度并不会随着时间而下降。 相反,我们可以谈论转移注意力的焦点。 尽管React正在“吃掉”比Angular开发生态系统更大的“小菜一碟”,但Angular尽管有React的壮大,但仍然不认为自己会失败。


有关Google趋势5年搜索结果的信息。 红线-角度,蓝-反应

另外,值得注意的是,在该框架从AngularJS演变为如今的框架之后,您可以说Angular实际上已经重建了其社区。 尽管此框架有很多追随者,但是在Angular 2发布之后,所有人都必须重新学习。

如果我们考虑到这一点来分析情况,结果表明,以今天已知的形式,Angular比React小三岁。 实际上,由于与Angular 2+不同,Angular的原始版本实际上可以忽略。

总结


如果您是新手开发人员,正在尝试寻找有关他需要学习什么的问题的答案,建议不要考虑太多。 归根结底,归根结底是普通的JavaScript,因此最好先学习基本技术,然后处理各种“有趣的事物”。

无论选择哪种技术,您都会处理适用于使其更易于处理的其他技术的想法。 最重要的是,要真正好好地学习您的第一个框架,并学会使用它来做一些超出臭名昭著的ToDo应用程序的事情。

力争成为一个精通编程范例的开发人员,不要试图太拘泥于一件事。 除其他事项外,研究应用程序的体系结构,组件的设计和开发,了解应用程序中数据流的行为特征以及掌握用于管理应用程序状态的技术。

无论使用哪种特定平台,都可以自由使用这种知识和技能,这是新手程序员和中级程序员与高级专家的区别所在。

亲爱的读者们! 在为项目选择前端开发工具时,应遵循哪些注意事项?

Source: https://habr.com/ru/post/zh-CN450666/


All Articles