关注移动Web应用性能问题(上)

移动平台逐渐成为客户端应用的主流载体之一,为了消除应用在不一样移动平台的兼容性,采用Web形式开发移动应用成为潮流(固然特别依赖于原生功能和 性能的应用,如游戏可能例外)。随着Web移动应用愈来愈多,其性能方面的分析与研究也逐渐受到重视。本文试图从多个角度来阐述移动Web应用性能优化的 各个方面,其中主要引用了Google性能优化专家Steve Souders的精彩观点,但愿可以为国内移动开发社区带来一些启示。javascript

随着Web2.0应用的普遍采纳,Web性能愈来愈受到重视。有关Web应用的性能调优标准早已经深刻人心,如Yahoo!的《Best Practices for Speeding Up Your Web Site》和Google的《Web Performance Best Practices》,这些标准在桌面浏览器的Web性能分析中起到了关键的做用,ComScore称:Verizon的iPhone手机在二月顶部java

如今轮到移动平台的性能调优了。技术专家Steve Souders以前在博客中宣布,从此他将会把大部分时间和精力放在移动Web性能的研究工做上,其基本的思路归结为以下几点:浏览器

  • 衡量:肯定分析性能的指标和标准。
  • 分析:经过工具对性能问题进行度量。
  • 研究:分析性能问题,找出根源。
  • 最佳实践/分享:总结出最有可能改进移动性能的各类方法,并发布出来。
  • 提示:开发提示性能问题的工具
  • 自动化:提供服务修补问题。

读者可能会问:为何要特别关注移动Web应用性能问题?传统的桌面Web应用经验不能适用吗?咱们简单列举一下移动平台的几个特殊性:性能优化

  • 移动设备的硬件限制。
  • 移动浏览器的精简实现。
  • 移动网络的不稳定性。
  • 移动Web开发的发展阶段。

从上面四点,读者会发现移动Web应用有其特殊的生存环境,传统的Web性能优化标准不能彻底适用于移动平台,因此咱们须要单独将其做为一个研究领 域。考虑到移动网络的不稳定性,Souders建议你们先去掉这一不稳定因素,即首先关注经过wifi上网的移动设备的性能问题,这样就缩小了研究的范 围。等时机成熟了再全面引入网络环境的性能影响。网络

目前,移动Web应用的性能研究工做主要困难在于——工具太少!大多数浏览器工具(Firebug、Page Speed、YSlow、Dynatrace)都运行在桌面操做系统上,不支持移动设备,其中有一些工具是浏览器插件,可是目前不支持安装在浏览器的移动版本上,另一些则是特定的桌面操做系统的可执行文件,一样不支持移动平台。Steve Souders分析了当前桌面工具的可用性:并发

  • Bookmarklet(小书签,是除了浏览器插件的又一扩展形式)通常适用于全部浏览器。它们是纯JavaScript脚本,也支持移动浏览器。
  • Greasemonkey适用于大多数浏览器。它们大部分是JavaScript代码,一小部分是依赖于浏览器的API,所以难以构建。它们优于Bookmarklet的特色在于功能稍微强大一点,包括自动启动等。
  • 浏览器插件是最强大的,但也是最难构建的。开发过程根据浏览器而异,大多数非主流浏览器不支持插件。

从以上的分析来看,bookmarklet是当前最方便的工具选择,Souders推荐了一套优秀的分析bookmarklet工具包,包括:Firebug Lite、DOM Monster、SpriteMe、CSSess、Zoompf和Page Resources。为了方便性能分析人员使用,他创建了一个meta-bookmarklet页面,你们能够经过访问一个网页使用全部的bookmarklet工具!在移动浏览器上安装的过程也比较简单:工具

  1. 单击连接Mobile Perf bookmarklet。
  2. 将该页加入书签。
  3. 编辑书签的URL,删除#以前的全部内容,只保留以"javascript:"开头的URL便可。
相关文章
相关标签/搜索