ngUpgrade 性能注意事项
ngUpgrade performance considerations
我想弄清楚我们是否可以将我们的 Angular 1 应用程序移动到 Angular 2。我们有足够数量的代码来保证使用 ng-upgrade
而不是开始从零开始。
我们当前的应用程序正在推动 Angular 1 的性能极限。希望 Angular 2 能给我们带来一些性能上的好处。
我的问题是我们的迁移路径会对性能产生多大影响(即 运行ning Angular 1 和 Angular 2 根据 ng-upgrade
指南) ?它会产生明显的影响还是在实践中不会引起注意?在此期间,我主要关心的是 运行 时间速度,而不是内存使用或加载时间。
我目前处于类似的境地,我唯一知道的是 A1 和 A2 的摘要周期相互触发。这让我觉得在升级期间,事情会变慢......如果我在未来几个月发现任何不同,我会更新你。
https://angular.io/docs/ts/latest/guide/upgrade.html#!#change-detection
Everything that happens in the application runs inside the Angular 2 zone. This is true whether the event originated in Angular 1 or Angular 2 code. The zone triggers Angular 2 change detection after every event.
The UpgradeModule will invoke the Angular 1 $rootScope.$apply() after every turn of the Angular zone. This also triggers Angular 1 change detection after every event.
不确定这个话题是否仍然相关,我会尝试添加一些进一步的注释。目前我们处于 Angular 6,升级行为变得更好。
对于遇到性能问题或认为可能存在问题的任何人,我建议查看 downgradeModule (https://angular.io/api/upgrade/static/downgradeModule#differences-with-upgrademodule)
您基本上可以升级 Angular 1 部分或降级 Angular 2 部分。乍一看,它们可能看起来相似,但行为根本不同。对于任何关注性能的人,我绝对推荐后一种方法。这样,您的新 Angular 2 代码和旧代码将以几乎 same/if 不同的速度运行。
即使对于相当大的应用程序,它也是轻而易举的,而且您很少会遇到任何性能问题。
您应该知道 bootstrap 混合应用程序有两种方法:
UpgradeModule - bootstrapAngularJS (v1) 和 Angular (v6) 框架都在 Angular区域
DowngradeModule - bootstraps AngularJS 在 Angular 区域之外,并使两个变化检测系统分开。
两种方法我都试过了。我建议使用 DowngradeModule
- 它对性能和内存泄漏更好。
我想弄清楚我们是否可以将我们的 Angular 1 应用程序移动到 Angular 2。我们有足够数量的代码来保证使用 ng-upgrade
而不是开始从零开始。
我们当前的应用程序正在推动 Angular 1 的性能极限。希望 Angular 2 能给我们带来一些性能上的好处。
我的问题是我们的迁移路径会对性能产生多大影响(即 运行ning Angular 1 和 Angular 2 根据 ng-upgrade
指南) ?它会产生明显的影响还是在实践中不会引起注意?在此期间,我主要关心的是 运行 时间速度,而不是内存使用或加载时间。
我目前处于类似的境地,我唯一知道的是 A1 和 A2 的摘要周期相互触发。这让我觉得在升级期间,事情会变慢......如果我在未来几个月发现任何不同,我会更新你。 https://angular.io/docs/ts/latest/guide/upgrade.html#!#change-detection
Everything that happens in the application runs inside the Angular 2 zone. This is true whether the event originated in Angular 1 or Angular 2 code. The zone triggers Angular 2 change detection after every event. The UpgradeModule will invoke the Angular 1 $rootScope.$apply() after every turn of the Angular zone. This also triggers Angular 1 change detection after every event.
不确定这个话题是否仍然相关,我会尝试添加一些进一步的注释。目前我们处于 Angular 6,升级行为变得更好。
对于遇到性能问题或认为可能存在问题的任何人,我建议查看 downgradeModule (https://angular.io/api/upgrade/static/downgradeModule#differences-with-upgrademodule)
您基本上可以升级 Angular 1 部分或降级 Angular 2 部分。乍一看,它们可能看起来相似,但行为根本不同。对于任何关注性能的人,我绝对推荐后一种方法。这样,您的新 Angular 2 代码和旧代码将以几乎 same/if 不同的速度运行。
即使对于相当大的应用程序,它也是轻而易举的,而且您很少会遇到任何性能问题。
您应该知道 bootstrap 混合应用程序有两种方法:
UpgradeModule - bootstrapAngularJS (v1) 和 Angular (v6) 框架都在 Angular区域
DowngradeModule - bootstraps AngularJS 在 Angular 区域之外,并使两个变化检测系统分开。
两种方法我都试过了。我建议使用 DowngradeModule
- 它对性能和内存泄漏更好。