最近我一直在使用Sproutcore20和现在的Ember.JS构建手机应用程序.这在我的iPhone(3GS)上效果很好,虽然它在很多Android设备上都很不稳定.
最简单的事情,比如从主菜单项切换,因此在不同的视图中加载感觉除了原生之外.
目前,它使用在状态图中附加和删除的模板视图.每个主菜单项都有一个主状态,其中附加相应的视图(并在退出时删除).
这个方法对我来说似乎是最优的,但是它没有最佳功能,所以我想知道一种替代方法,如在负载(延迟)和可见性切换上附加所有视图是否会提高性能(1)?它会使DOM变大,从而使DOM上的操作变慢.
什么是构建移动应用程序的最佳Ember.js代码结构,以及在构建移动设备时需要考虑哪些因素?(2)?
这实际上取决于您的应用程序。一般来说,限制 DOM 元素的数量和 DOM 更改的数量有助于提高性能。决定是否将元素保留在 DOM 中并隐藏/显示它们,或者按需创建/销毁元素取决于应用程序的使用模式。如果您希望用户在视图之间快速来回移动,则隐藏/显示是有意义的。