我正在决定将哪个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
任何真实的经验,或比较,说明两者的利弊?感谢您的输入
UPDATE - 也许一个小例子会有所帮助,如何在两个框架中做同样的事情并比较利弊
示例:我有一个表中的公司列表 . 每行是1公司,每列是关于公司的一些信息(名称,地址,员 Worker 数......)有很多条目,我需要做一些分页和排序(服务器端)
1 回答
我对React有一个合理的经验,而且基本上没有Angular . 所以我要说的关于Angular的内容来自我从别人那里读到和听到的东西 .
反应
Pros
易于学习
隔离组件更易于维护
当事情变得复杂时,React的"Always Re-render"方式很容易理解
Flux是MVC模式的一个非常好的替代品 . 单向数据流有助于可维护性并保持数据和DOM元素的一致性 . 结合Immutable.JS数据结构,它是最重要的蛋糕:)
Cons
与DOM操作库不兼容(例如:jQuery)
它确实改变了你做事的方式,特别是如果你使用Flux,这很好,但需要一点时间习惯 .
我发现了一些情况,当组件处理渲染方法上的大型数据集时,每次重新渲染都会减慢应用程序的速度 . 在这些情况下优化性能可能会有点棘手 .
Angular
Pros
好文档
社区成员很有帮助(在SO上很容易找到好的答案) .
双向数据绑定使一些事情很容易实现
Cons
性能问题:要进行双向数据绑定,必须检查数据模型中的更改 . 它还必须解析您的HTML以使其成为神奇的工作 . 这会减慢速度,如果应用程序在移动设备上运行,它会更快地耗尽电池
跨越HTML和JS的逻辑:代码更难理解,维护和调试 .
v2即将解决一些问题,但所有v1代码都已过时