虚拟 dom 和脏检查之间的性能差异

Posted

技术标签:

【中文标题】虚拟 dom 和脏检查之间的性能差异【英文标题】:Performance difference between virtual dom and dirty-checking 【发布时间】:2017-02-26 07:05:06 【问题描述】:

我是新手反应。真的很想知道 react 的虚拟 dom 和 angular 的脏检查之间的性能差异。

    React 使用“diffing” 算法。

    一个。它是如何工作的? 湾。它是否保留two copies of trees?比较两棵树不是很昂贵吗?

    React 不直接操作 heavyweight 部分。

    一个。指的是什么?

角度(角度 1)

    Angular 会监视 DOM 中实际存在的数据,而不是 所有范围变量。

    一个。这不是比比较两棵树更好吗?

    Angular 运行 digest cycle 并在它稳定后进行操作 大教堂。

    一个。这里react virtual dom有什么好处?

【问题讨论】:

【参考方案1】:

不要上这些营销噱头。 最后,这一切都归结为运行这些框架的浏览器或平台。 React JSX 和 Virtual DOM 可以分开,因为它是一种可以利用的技术。然而,一旦 React 变大,它就会变成一团意大利面条,并且讨厌功能 UI 人员工作,也许开发人员可以。 然而,使用 AngularJS 或 Angular 将 f 关注点作为设计理念的一部分进行分离,模板可以被分离,从而加快开发和推向市场的时间。此外,社区的支持也很好。

您真正需要发展的是平台,同时保留开放的 Web spes(?),例如组件。 React 正在扼杀它。

如果您打算使用或制作成熟的应用程序,我建议您使用 Angular 的任一版本。

【讨论】:

以上是关于虚拟 dom 和脏检查之间的性能差异的主要内容,如果未能解决你的问题,请参考以下文章

React篇(010)-为什么虚拟 dom 会提高性能?

虚拟DOM性能优化实战,同样是操作DOM,为什么说他快?

虚拟DOM和抽象语法树

虚拟DOM 和 Diff 算法,key的作用,jsx,render函数

Vue 虚拟Dom  diff算法

ReactiveNative学习之Diff算法