为什么 React 比 Angular 更胜一筹?
介绍
React 胜出的原因是什么?
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
你想跳过文章,直接想知道我最推荐初学者入门的是什么吗?最简单的答案是React。
但如果您好奇我为什么选择做出回应,不妨泡杯咖啡,坐下来阅读这篇文章。
在使用JavaScript时,有很多优秀的框架可供选择,但通常情况下,选择一个框架并开始使用会让人感到困惑。
在这里,我将向您介绍 JavaScript 中最流行的两个框架,即Angular和React。
我们将找到最适合您情况的方案,并探究 React 为何如此受欢迎。
读完本文,你就可以开始使用这些框架/库之一了。
介绍
本文将讨论 Angular 2,而不是 Angular.js。
Angular 2 是一个通用术语,用于指代 Angular.js 之后的所有 Angular 版本。
需要说明的是,为了便于阅读,本文中我将经常交替使用框架和库。
但这并不意味着这两个词的意思相同。
库和框架具有非常不同的特性,事实上,这是 React 和 Angular 之间的核心区别之一。
React 是一个库,而 Angular 是一个功能齐全的框架。
在揭示 React 流行的原因之前。
让我们通过以下几点来更深入地了解这两个框架。
简要概述
React
React 是一个用于构建用户界面的 JavaScript 库。
这是一个基于组件的库,让开发者能够非常轻松地创建用户界面。
它由 Facebook 和一群开源开发者管理和创建,并于 2013 年 5 月推出。
角
Angular 是一个用于 Web 和移动开发的 JavaScript 框架。
它是一种基于 TypeScript 的语言,由 Google 的开发者社区管理,于 2016 年推出。
Angular之所以如此受欢迎,最重要的因素之一就是它是由世界上一些最权威的人士构建和更新的。
学习曲线
与Angular相比,React的学习曲线较低。
然而,React 本身并不完整,通常需要使用一些状态管理库,例如Redux和Flux,来管理复杂 React 应用程序中的状态。
我们可以将 React 与任何其他框架结合使用并开始开发,甚至可以将 React 与 Angular 结合使用。
Angular 与 React 截然相反,由于它是一个非常庞大的框架,因此学习曲线也相当陡峭。
表现
性能可能是大多数开发者从 Angular 转向 React 的转折点。
React 使用虚拟 DOM,而 Angular 使用传统 DOM。
现在,在传统的 DOM 中,如果你想更新用户的特定信息,Angular 将重写整个 Html 树的结构。
而 React Virtual DOM 则允许您在不重写整个 HTML 的情况下更新更改。
简而言之,React Virtual DOM 比 Angular Traditional DOM 更快。
但是 Angular 具有一种叫做变更检测的功能,它会在数据发生变化时更新 DOM。
因此,Angular DOM 的性能与虚拟 DOM 一样出色。
React 单向数据流确保即使在复杂的项目中,状态更改也能一丝不苟地进行。
即使是大型项目,React 中的数据流控制也非常简单。
与 React 的单向特性相反,Angular 的双向数据流使得大型应用程序快速处理数据变得更加复杂。
然而,双向装订更容易操作。
用途
以下是使用 Angular 和 React 的公司列表,以便您了解它们的市场价值。
角
React
React 胜出的原因是什么?
React本质上是声明式的:
这意味着,当你在 React 中编写组件时,你只需要告诉 React 你希望你的组件看起来像什么。
您无需担心它的不同状态以及网页上的其他元素。
React 会帮你处理这个问题。
React 很容易学习:
React 本质上是简单的 JavaScript,添加了一些额外的功能,因此……
与Angular相比,理解React要简单得多,因为Angular需要学习一整套框架。
不过,这样做的代价是需要学习几个外部库。
React 非常简洁:
React 是一种非常简洁的语言,它关注的重点不多,只专注于构建用户界面这一件事。
请记住,这句话有两种解释。
它既可以用于支持 React,也可以用于反对 React。
React 一直是开发者的首选,甚至在2020 年
Stack Overflow 对 90,000 名开发者进行的一项调查中也得到了证实。
React 仍然是他们的首选之一,68.9% 的开发者投票选择了 React。
结论
虽然 JavaScript 本身已经是一种复杂的编程语言,但我认为通过使用框架或库可以提高其可读性和易用性。
React 的学习曲线相对平缓,而 Angular 则拥有许多内置功能可供使用。
React 的应用非常广泛,而 Angular 则主要用于企业级应用。
虽然我个人更倾向于选择 React 作为入门语言,但学习 Angular 也并无坏处。
如果您想了解更多关于这两个框架的信息,可以随时访问它们的官方文档,查看更详细的比较。
另外,请在下方告诉我您正在使用或将要使用的框架。
如果您觉得我的作品有趣且喜欢阅读,可以在Twitter和LinkedIn上关注我。
封面作者:Dribbble 上的 Anna Shagova。
文章来源:https://dev.to/rohitrana/why-react-is-wining-over-angular-2n7g
