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 的内容来自于我从其他人那里读到和听到的东西。
反应
优点
- 简单易学
- 隔离的组件更容易维护
- 当事情变得复杂时,React 的 "Always Re-render" 方式很好地使它更容易理解
- Flux 是 MVC 模式的一个很好的替代品。单向数据流有助于提高可维护性并保持数据和 DOM 元素的一致性。结合 Immutable.JS 数据结构,这是蛋糕上的樱桃:)
缺点
- 不适合 DOM 操作库(例如:jQuery)
- 它确实改变了您做事的方式,尤其是当您使用 Flux 时,这很好,但需要一点时间来适应。
- 我发现在某些情况下,当组件在渲染方法上处理大型数据集时,每次重新渲染都会减慢应用程序的速度。在这些情况下优化性能可能会有些棘手。
Angular
优点
- 良好的文档
- 社区成员很有帮助(在 SO 上很容易找到好的答案)。
- 双向数据绑定让一些事情很容易实现
缺点
- 性能问题:要进行双向数据绑定,它必须检查数据模型中的更改。它还必须解析您的 HTML 以使其发挥神奇的作用。这会减慢速度,而且,如果该应用程序 运行 在移动设备上,它会更快耗尽电池电量
- 逻辑分布在 HTML 和 JS 中:代码更难理解、维护和调试。
- v2 即将解决一些问题,但会使所有 v1 代码过时
我正在决定将哪个 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 的内容来自于我从其他人那里读到和听到的东西。
反应
优点
- 简单易学
- 隔离的组件更容易维护
- 当事情变得复杂时,React 的 "Always Re-render" 方式很好地使它更容易理解
- Flux 是 MVC 模式的一个很好的替代品。单向数据流有助于提高可维护性并保持数据和 DOM 元素的一致性。结合 Immutable.JS 数据结构,这是蛋糕上的樱桃:)
缺点
- 不适合 DOM 操作库(例如:jQuery)
- 它确实改变了您做事的方式,尤其是当您使用 Flux 时,这很好,但需要一点时间来适应。
- 我发现在某些情况下,当组件在渲染方法上处理大型数据集时,每次重新渲染都会减慢应用程序的速度。在这些情况下优化性能可能会有些棘手。
Angular
优点
- 良好的文档
- 社区成员很有帮助(在 SO 上很容易找到好的答案)。
- 双向数据绑定让一些事情很容易实现
缺点
- 性能问题:要进行双向数据绑定,它必须检查数据模型中的更改。它还必须解析您的 HTML 以使其发挥神奇的作用。这会减慢速度,而且,如果该应用程序 运行 在移动设备上,它会更快耗尽电池电量
- 逻辑分布在 HTML 和 JS 中:代码更难理解、维护和调试。
- v2 即将解决一些问题,但会使所有 v1 代码过时