AngularJS vs ReactJS

Asp*_*ped 41 javascript compare angularjs reactjs

我正在决定将哪个JavaScript框架用于我的新Web应用程序.我想使用Angular,但最近听说过React.问题是 - 我没有找到两者之间真正好的比较.大多数进行比较的文章都是"反应良好的",并没有比较大的帮助,只是说明为什么反应更好.例如

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

任何真实的经验,或比较,说明两者的利弊?感谢您的输入

更新 - 也许一个小例子会有所帮助,如何在两个框架中做同样的事情并比较利弊

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

Bre*_*ira 42

我对React有一个合理的经验,而且基本上没有使用Angular.所以我要说的关于Angular的内容来自我从别人那里读到和听到的东西.

应对

优点

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

缺点

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

优点

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

缺点

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

  • 很好的答案,我一直在使用React和Angular大约一年,有一件事我想补充一点****我永远不会选择Angular而不是React,但如果你选择一些没有React的随机开发者经验和需要立即开始工作,React花了太长时间才学会实用.另外,从我听到的内容来看,Ember是Angular的更好版本.在您的空闲时间学习React,并在下一个项目中使用它,或者为您的公司使用一些内部工具. (7认同)
  • Separtaion HTML和JS使代码更难理解mainatin和debug?公牛屎.实际上,分离是"不将html与js混合"的好习惯 - 而且它使项目非常清晰易懂.Model-View-Controler - html角度模板是视图,js角度组件是控制器,角度也有模型部分(模型+服务) (4认同)