余烬应用程序性能
Ember Application performance
非常菜鸟,但我无法怀疑,在余烬中,我们使用 javascript 的车把模板编写所有 HTML,所以如果我有 n 个不同的页面,那么我会说 n 个车把模板,每个模板也是一个对象(我使用构建工具,所以我有这个哈希Ember.TEMPLATES
来存储我所有的模板)
更多模板 => 哈希Ember.TEMPLATES
中的更多属性 => 我的应用程序.js 大小会更大,也有很多内存用于保存该哈希
第一个疑问是,由于我们一次交付了整个javascript,因此会增加应用程序的加载时间,优点是Web应用程序交互一旦加载就会快得多。
此外,由于使用大量内存来保存哈希,因此 Web 应用程序将使用大量资源。
首先,我的假设有什么问题吗?如果不是,那么这是我们为拥有许多交互式Web应用程序而付出的代价吗?
我认为这完全取决于您加载其他资源的方式。是的,JavaScript 的加载时间比未在客户端中构建的 Web 应用程序的 JavaScript 要长。
但请记住,此加载时间仍然明显小于"正常"应用程序的"总"加载时间,其中用户访问的每个页面都会创建另一个HTTP请求,因此必须一遍又一遍地重新加载其JavaScript。
此外,由于 Ember 是异步的,因此您可以设计应用程序,使其最初加载较少的其他外部资源(图像、数据等),并使用 DS.Store 机制拉入这些资源,因此您的初始加载时间只能是 JS/HTML/CSS,其他一切都可以稍后出现(不再需要等待服务器上昂贵的数据库查询)。
所以是的,Ember 确实等于更多的初始 JavaScript 加载时间,但它为您提供了降低应用程序总加载时间的工具。
至于浏览器资源,Ember非常高效,但使用更多的浏览器内存只是我们为在客户端计算机上而不是在我们自己的服务器上进行计算而付出的代价。这个想法是,大多数现代浏览器和机器都足以处理这种额外的资源需求,因此权衡变得值得。
编辑:
可能是你的应用程序太大了,浏览器无法处理,无论你做什么(尽管你的应用程序必须非常庞大才能出现这种情况)。在这种情况下,解决这个问题的一种方法是将其分解为多个 Ember 应用程序,这将最大限度地减少用户在 Ember 应用程序之间来回切换。也许是处理登录、营销、查看内容等的"公共"应用程序,以及处理后端帐户页面的"私人"应用程序。
- 如何提高Sencha Touch 2.x应用程序的性能
- 离子框架移动应用程序性能问题
- 模块化与性能与性能与角度应用程序中的ng-include
- Web应用程序性能:SVG、Canvas或Dom Manipulation
- 电子应用程序从dvd加载性能差
- 分析生产中应用程序的浏览器性能
- ASP.NET MVC应用程序中的javascript分离/性能
- 始终运行的 Web 应用程序上的动画滞后和性能问题
- 调整Phonegap的应用程序执行性能
- 使用 JS 原型构建大型 JS 应用程序的性能优势
- 对应用程序中浏览器的相对性能具有启发性
- PhoneGap应用程序性能评估
- node-webkit与chrome浏览器中应用程序的性能
- Jquery Mobile web应用程序的性能增强
- angularjs范围内可以存储的最大数据大小是多少?具有重作用域的应用程序的性能
- 在一个应用程序中使用多个角度应用程序时的性能影响
- 如何衡量Angular JS应用程序的性能
- 为什么这个HTML5应用程序的性能在坐标加载时下降?
- 两个流星应用程序在一个数据库上的性能
- 优化ExtJS应用程序的性能