关于Angular的一些不足之处:
1,过于依赖DOM操作,Angular在执行的过程中会先扫描所有的DOM,然后通过指令来编译。这会造成一个结果,就是很难去
判断程序的执行顺序导致很难进行调试。
2,双向数据绑定也会带来性能问题,Angular的实现方法被叫做“Dirty-checking(脏检查机制)”,也就是通过跟踪数据的改变再
动态更新UI界面。所以意味着在Angular的作用域中任何操作的执行都会引发Dirty-checking,随着绑定数量的增加性能就会越低。
3,Angular的任何操作会引起digest cycle对注册过的监听器的遍历,以实现组件动态地同步数据。这会和其它的依赖产生兼容性问题。如果你使用的其它JavaScript库也需要改变数据就必须用Angular的$apply函数去封装。或者如果它是一个工具库,你就需要把它转换成一个服务。似乎其它JavaScript库都必须经过改动才能和Angular进行交互操作。
React的优势:
1,“虚拟DOM”,React并不直接对DOM进行操作,在页面渲染的过程中,React通过在虚拟DOM中的微操作来实现对实际DOM的局部更新。
2,单向数据流,Flux是一个用于在JavaScript应用中创建单向数据层的架构,它只是一个概念,而非特定工具的实现。它可以被其它框架吸纳。例如,Alex Rattray有一个很好的Flux实例,在React中使用了Backbone的集合和模型。
3,模块化,可以编写独立的UI组件,并且可以复用,每个组件都可以进行独立的开发和测试,提高了代码的可维护性。
原文链接:https://www.f2er.com/react/307823.html