AngularJS 和 ReactJS 之间的主要区别是什么 [已关闭]

What are the main differences between AngularJS and ReactJS [closed]

提问人:CodeMonkey 提问时间:1/4/2016 更新时间:2/24/2017 访问量:7650

问:


想改进这个问题吗?通过编辑这篇文章来更新问题,使其仅关注一个问题。

6年前关闭。

我需要创建一个网站,它将转换为一个移动应用程序(我想构建的更适合成为网站而不是应用程序,因此建筑物本身应该是一个网站)。

由于我对桌面和 Android 原生开发世界更熟悉,所以我对 Web 客户端开发知之甚少。在阅读了一点之后,我决定在客户端使用这些技术:HTML5、CSS3、Bootstrap React.js

问题是我读到 Angular 实际上是一个完整的 MVC 框架,而 React 有一些更具体的角色,这就像将汽车 (Angular) 与引擎 (React) 进行比较。我已经看到了关于如何使用 hello world 和事件处理等技术执行某些操作的比较,因此我不需要知道如何具体处理它们在一些比较网站中显示的内容。

所以我的问题是,与 React 相比,我可以用 Angular 完成的工作有什么区别?如果我使用 React,会不会有我无法做的事情?我什么时候应该使用一个而不是另一个?如果我使用 React,我还能构建一个完全可操作的客户端吗?

我想强调的是,我不想要个人意见。我只想了解有关客户开发的事实,并知道我能用它们做什么和不能做什么。

JavaScript AngularJS ReactJS 客户端

评论

2赞 1/4/2016
相当多的事情......
0赞 CodeMonkey 1/4/2016
我不需要对每个函数进行比较。只是笼统地说..因为 Angular 仍然获得了“完整框架”的称号,而 React 没有
0赞 charlietfl 1/4/2016
你期待什么样的答案?汽车与发动机是苹果与橙子的比较
0赞 CodeMonkey 1/4/2016
@charlietfl 没错。这就是为什么我想知道我可以用一个做而我不能用另一个做的事情。如果 Angular 是一个如此完整的框架,那么如果我使用 React,我一定会错过几件事
5赞 temporary_user_name 1/4/2016
点赞,因为我理解问题背后的意图,并且一直在那里。关于 SO 有许多类似的问题,有很多赞成票。然而,知道这个地方,你可能会对这样的问题产生很多不满。

答:

5赞 user5692355 1/4/2016 #1

AngularJS 是一个完整的框架,就像你说的一样,它旨在使用 MVC 设计编写单页应用程序 (SPA)。 另一方面,ReactJS 被认为仅用于开发 View,或者换句话说,用于开发 UI 组件。 在我看来,Angular 学习起来相当复杂,而 React 是一个相对较小的库,但 React 的虚拟 DOM 速度更快(除非需要,否则它不会直接操作 DOM)。 此外,react 可以与其他库一起用于路由之类的事情,而 angular 已经有了它。 我认为你可以使用这两种技术来构建同一个网站,即使 React 是用于 UI 的,它仍然可以有逻辑,并且用它构建大型网站(例如 Instagram 和 Facebook)。

评论

1赞 Marco Aurélio Deleu 1/4/2016
你的回答让我觉得我可以同时使用 ReactJS 和 AngularJS。这可能吗?你说 React 是用于 UI 元素的,而 Angular 是一个完整的框架。我对 React 一无所知,但这让我想知道我是否可以使用 react 构建角度指令来制作更好的 Web 组件。
1赞 CodeMonkey 1/4/2016
当说“React 仅适用于 View”时,如何处理模型和控制器?
0赞 1/4/2016
是的,您可以将它们组合在一起,但我建议您选择其中之一,因为您需要做一些解决方法来组合这两个框架。关于模型和控制器部分,我忘了提到 react 是为通量开发而设计的。这意味着,您始终有一个从调度程序到子组件的数据流,而不是双向绑定。任何组件都可以注册到事件并触发事件功能。React 不需要模型和控制器,因为它是开发 SPA 应用程序的不同方法。
0赞 Shruti Kapoor 6/23/2017
如果你要在前端使用 React,我建议在后端使用 flux 框架,比如 Redux。另外,为了补充您的原始问题,React 是一个 UI 库,而 AngularJS 是一个框架。对于小型应用程序,ReactJS 开箱即用。对于较大的应用程序,我肯定会将其与 Redux 等配对。
0赞 Pratik Singhal 1/17/2018
@YonatanNir 对于 react 中的每个独立组件,您将管理组件本身中的状态,而对于管理应用程序状态,您将使用像 Redux 这样的框架。
3赞 n1kkou 1/4/2016 #2

我认为 Angular 和 React 之间的主要区别在于 Angular 使用双向数据绑定,而 React 使用单向数据绑定。也许这篇文章会让你更清楚:https://www.airpair.com/angularjs/posts/angular-vs-react-the-tie-breaker
p.s.我真的不明白为什么这个问题被否决了......

评论

0赞 CodeMonkey 1/4/2016
但仍然必须有一些东西,因为 Angular 是一个完整的框架,而 React 不是。
3赞 n1kkou 1/4/2016
虽然 Angular 非常擅长管理和更新 DOM,但它可能会变得迟钝。React 专注于对通常数据量非常大的元素进行极快和频繁的更新。
0赞 CodeMonkey 1/5/2016
但也许 Angular 会拥有一些 React 所没有的能力?(仍然是“完整框架”标题)。