Sencha:移动web应用性能将会进一步提高

Sencha Touch Framework(一套用于开发基于HTML5和JavaScript的移动应用的框架)的开发商(Sencha)对一些关于移动平台上基于Web的应用的性能的“传说”发表了评论。他特别剖析(驳斥)了以下几项观点:

  • 对Web应用来说,JavaScript的性能是最重要的影响因子;
  • JavaScript的性能改进,只能来自于硬件升级;
  • 未来的硬件升级将不会再影响(提升)Web应用的速度;
  • JavaScript的垃圾回收机制是一个性能杀手;
  • 移动浏览器已经触及优化的上限;

为了驳斥以上观点,Sencha提供了过去数年中收集到的各种基准测试的结果。这些结果来自于在不同版本的iOS和Android环境中的基准测试,它们分别运行于不同世代的硬件设备上。

在开发Sencha Touch框架过程中,Sencha从未感觉到JavaScript是最大的制约因素。即使移动设备的性能远逊于桌面计算机,他也并不认为JavaScript的性能是个核心的问题——因为移动应用往往并不是用来执行计算密集型任务的。

另一方面,过去数年中的基准测试结果,表明JavaScript的性能有了显著提升。在相同硬件(iPhone 3GS)上通过SunSpider对多个操作系统版本进行测试后,其结果表明浏览器软件的进步(从iOS3到iOS6)让性能提升了四倍。这一趋势并不仅限于iOS平台,而是同样也出现在Android设备上。另外,在不同世代的硬件设备上,对相同软件进行测试的结果也同样表明,硬件的升级为性能带来了显著的提升。

除了分析JavaScript基准测试外,Sencha还针对DOM、SVG和图形性能提供了若干洞察——在Sencha看来,对移动Web应用性能来说,这些因素比JavaScript自身更加重要。

对DOM的遍历和操作的评测,表现出了与JavaScript评测相同的趋势:随着软硬件的进步,DOM操作的性能也在不断提升。硬件升级——特别是GPU加速——也同样为图形和SVG带来了性能的提升。

此外,鉴于WindowsRT甚至能够借助GPU加速,在性能上超越桌面计算机,对iOS和Android平台来说,也应该具有相似的潜力——因为浏览器制造者会持续地将操作转移到GPU上。

在Sencha看来,JavaScript的动态本性和垃圾回收机制的开销属于通用性问题。Sencha框架自身通过在浏览器之上引入概念层来解决这个问题——对象的创建和销毁正是在这里完成。Sencha表示,如果没有这样一个概念层的话,用户或许会遇到性能问题。

考虑到不同操作系统平台上的浏览器,会在某些方面(例如JavaScript、DOM或图形)显著地优于同侪,因此没有理由相信浏览器的优化已经走到了尽头。显然,每个浏览器都仍旧拥有性能显著提升的潜力,而最终这也将为移动Web应用带来更好的性能。

译者:李彬
原文:http://www.infoq.com/cn/news/2013/08/sencha-mobile-webapp-performance

英文原文:http://www.infoq.com/news/2013/08/sencha-mobile-webapp-performance