Javascript 是当今开发人员中最流行的语言之一。有很多开发人员、新手和有经验的人喜欢使用 Javascript 构建他们的应用程序或项目,但是当他们必须为他们的项目选择正确的框架或库时,仍然会感到困惑。
Angular 和 ReactJs是他们的首要任务,但他们中的大多数人仍然无法决定哪一个适合他们的项目。新生想知道哪一种容易学习,哪一种在市场上有更多的就业需求。
让我们快速介绍一下 Angular 和 ReactJs。
AngularJS 由 Google 开发,最初于 2010 年发布。直到 2016 年它才被称为AngularJS 。 2016 年 Angular 团队发布了Angular 2 ,它是对AngularJS的完全重写,它实际上是一个全新的框架,因此为了减少与之前的混淆,Angular 团队决定从原来的名称中删除 JS,并将这个新框架命名为 Angular .
React 由 Facebook 开发和维护。它于2013年发布。
我们需要记住 ReactJS 是一个构建交互式用户界面的库,另一方面 Angular 是一个完整的框架。在我们继续之前,让我们看看 StackOverflow 调查对 Angular 和 React 的看法。
现在让我们看看谷歌趋势对 Angular 和 React 的评价。
从上面两张图可以清楚地看出 ReactJS 的优先级高于 Angular,Google Trends 也说 ReactJS 是最受欢迎的库。现在我们将根据某些因素比较它们,以决定选择哪一个更好。
学习曲线: Angular 是一个完整的成熟框架,所以如果有人想在 Angular 上制作应用程序或项目,他们需要深入学习很多东西,比如 Typescript、MVC 还有很多其他的概念需要学习,比如指令、模块、装饰器、组件、服务、依赖注入、管道和模板。提前topic,需要学习变化检测、区域、AOT(Ahead-of-Time)编译和Rx.js。 Angular 提供了很多“开箱即用”的东西。它有严格的编码,给出了清晰的结构,但如果有人想进入 Angular,还有很多东西需要学习。
另一方面,ReactJs 只是一个库,因此与 Angular 相比,它需要学习的概念更少。 React 使用 JSX(Javascript XML),这是一种将 HTML 写入 JavaScript 的方式。所以我们需要了解 JSX 的语法,如何编写组件,管理内部状态,配置 props,路由,使用 Redux 进行状态管理。 React 不会提供任何“开箱即用”的功能。 React 提供了灵活性,它为开发人员以不同的方式完成相同的任务提供了太多的选择。在Angular的对比中,很容易上手很快。
组件和大小: Angular 在 Real DOM 上工作,它遵循 MVC 模式。 Angular 遵循双向数据流,与 React 相比,它的大小也很大(大约 92KB,它可能会改变)。另一方面,React 适用于 Virtual DOM,它是 Real DOM 的轻量级副本,或者我们可以说是实际 DOM 的 JS 表示。 React 遵循单向数据流,并且 React 的大小(大约 46KB,可能会改变)小于 Angular。
迁移和社区支持: Angular 每六个月发布一次更新版本或更新一次。所以在一年内,有两个主要版本或更新来进行必要的更改。自发布以来,开发人员经历了如此多的突破性变化。 Angular 得到了庞大而活跃的 Google 社区的支持,其当前版本是 7.0。 React 由 Facebook 维护,当前版本为 16.0。 React 中的升级比 Angular 更容易,而且在发布更新版本时,Facebook 稳定性是一个主要问题,因为 Twitter 和 Airbnb 等大公司使用 React。它也有很好的社区支持。
流行度:以下是这两个框架的开源社区参与度和流行度。
React | Angular | |
---|---|---|
GitHub Stars | 129K | 48K |
Contributors | 1296 | 935 |
Weekly Downloads | 5M | 440K |
应用程序: Angular 最广泛用于大型应用程序,如视频流应用程序或乐器应用程序,因为它具有成熟的框架性质。另一方面,ReactJS 只是一个库,因此它适用于 SPA(单页应用程序)或不需要太多格式的地方。
Angular 被 Google、Forbes、Youtube、Wix、telegram 公司使用,React 被 Facebook、Instagram、Twitter、Airbnb、Netflix、Paypal、Uber 公司使用。
市场趋势或工作:如果我们尝试在 StackOverflow 和 Upwork for Angular 和 React 上搜索工作,我们会发现以下结果。
角工作
反应工作
从以上两个结果可以看出,React 开发者比 Angular 的可用度更高,需求也高。
结论:在我们得出任何结论之前,我们需要记住没有最好的框架或库。选择框架或库完全取决于您的项目级别、要求和目标。每个框架或库都有一些优点和缺点,React 和 Angular 也是如此。从以上所有因素来看,如果您是初学者或编码实践较少,如果您希望项目的稳定性,您可以使用 React,因为它的学习曲线快速且容易,而且市场上的工作也高于 Angular。如果您选择 Angular,可能会令人沮丧,因为每 6 个月后,您就会经历 Angular 的重大升级。另一件事是,如果您想要一个成熟的框架来构建大型项目,并且喜欢遵循直接的编码策略,那么请使用 Angular。