AngularJS 对比 ReactJS

AngularJS vs ReactJS

我正在决定将哪个 JavaScript 框架用于我的新 Web 应用程序。 我想使用 Angular,但最近听说了 React。 问题是——我还没有找到两者之间真正好的比较。 大多数做比较的文章都是 "pro-react",对比较帮助不大,只是说明为什么 React 更好。 例如

https://www.codementor.io/reactjs/tutorial/react-vs-angularjs http://www.quora.com/Pete-Hunt/Posts/Facebooks-React-vs-AngularJS-A-Closer-Look

有没有真实的经验,或者说两者优缺点的比较? 感谢您的输入

UPDATE - 也许一个小例子会有所帮助,如何在两个框架中做同样的事情并比较 pros/cons

示例:我在 table 中有公司列表。每行是1家公司,每列是公司的一些信息(名称,地址,员工人数..)条目很多,我需要做一些分页和排序(服务器端)

我对 React 有一定的经验,基本上 none 和 Angular。所以我要说的关于 Angular 的内容来自于我从其他人那里读到和听到的东西。

反应

优点

  1. 简单易学
  2. 隔离的组件更容易维护
  3. 当事情变得复杂时,React 的 "Always Re-render" 方式很好地使它更容易理解
  4. Flux 是 MVC 模式的一个很好的替代品。单向数据流有助于提高可维护性并保持数据和 DOM 元素的一致性。结合 Immutable.JS 数据结构,这是蛋糕上的樱桃:)

缺点

  1. 不适合 DOM 操作库(例如:jQuery)
  2. 它确实改变了您做事的方式,尤其是当您使用 Flux 时,这很好,但需要一点时间来适应。
  3. 我发现在某些情况下,当组件在渲染方法上处理大型数据集时,每次重新渲染都会减慢应用程序的速度。在这些情况下优化性能可能会有些棘手。

Angular

优点

  1. 良好的文档
  2. 社区成员很有帮助(在 SO 上很容易找到好的答案)。
  3. 双向数据绑定让一些事情很容易实现

缺点

  1. 性能问题:要进行双向数据绑定,它必须检查数据模型中的更改。它还必须解析您的 HTML 以使其发挥神奇的作用。这会减慢速度,而且,如果该应用程序 运行 在移动设备上,它会更快耗尽电池电量
  2. 逻辑分布在 HTML 和 JS 中:代码更难理解、维护和调试。
  3. v2 即将解决一些问题,但会使所有 v1 代码过时