【发布时间】:2017-05-12 14:41:01
【问题描述】:
我对 Angular 2 还很陌生,如果我不准确,请纠正我。
在编译器方面我对 Angular 1 vs 2 的理解:
在 Angular 1 中,编译器更加通用和动态,这意味着脏检查代码是运行在不同组件上的单个代码。然而,在 Angular 2 中,出于性能考虑,每个组件都将被编译为一个生成的代码,该代码处理该特定组件的绑定和脏检查。这意味着根据组件模板,更具体地说是绑定数量,生成的代码会变得更大。
当我们使用JIT时,这并不重要,因为这段代码不经过网络,是在浏览器中生成的。但是当使用 AOT 时,它将从服务器传输。
问题(可能):
当应用程序很小时,AOT 肯定会导致更小的负载,因为编译器不会被运送到浏览器。但是随着应用程序的增长,我认为这种差异开始减少并且可能会倒置(是吗?!)。但我没有量化的感觉。 对于中型或大型应用程序来说,这会是一个真正的问题吗?
【问题讨论】:
-
另一个考虑是可以更好地压缩 AoT 有效负载(手头没有 AoT 构建来检查这一点)。
标签: javascript angularjs angular jit aot