近期的一份研究报告,给出了与一般观点相左的结论,性能并不是HTML5面对的主要问题;相反,性能分析和调试工具的缺失,以及缺少某些特定API才是它的最大问题。
\VisionMobile对全球超过6千名开发者进行了调查,分析了超过3万款Android Play中发布的应用,评测了42款HTML5框架和工具,并就移动HTML5与原生应用之争的话题,访谈了32位顶级专家。最终,VisionMobile对此进行总结,发表了研究报告《HTML5如何与原生应用竞争?》。以下是该研究中的一些最重要的发现。该报告划分出四类适合HTML5应用的主要市场路径:
\- 移动浏览器——针对移动设备开发,适合运行在移动浏览器环境中的Web应用或网页。\
- 原生应用包装——将Web应用封装到原生应用中,并通过应用商店发布。\
- Web到原生转换——使用JavaScript编写应用,并编译为原生应用。\
- 原生的JavaScript API——针对原生支持HTML5的平台编写应用,例如Firefox OS、Windows 8和chrome OS这样的平台。\
该报告中的重要发现包括:
\- 61%的开发者针对移动浏览器进行开发。\
- 在美国区Android Play的应用中,63%的应用无法使用HTML5针对移动浏览器开发,因为浏览器还没有实现这些应用需要的某些API 。\
- 在美国,37%的Android应用可以使用HTML5实现,而如果浏览器能够增加电源管理和WiFi相关API,那么这一数字将能够上升到58%。\
- 39%的开发者通过移动浏览器之外的其他三种市场路径创建HTML5应用。\
- 在美国,49%的Android应用可以使用原生应用封装的方式;63%可以使用Web到原生转换器的方式;而98%可以使用JavaScript的方式。\
下图展示了HTML5吸引人的地方:
\而下图展现了开发者对HTML5的抱怨:
\许多开发者认为性能是HTML5的主要问题,但是在采访过这一领域的许多专家后,报告的作者认为性能是个“伪目标”,因为性能会随着硬件的更新换代、JavaScript编译器的升级、Asm.js等可选项的涌现等原因,而自动得到改善。在这些专家看来,首要问题与政治有关,更确切的说,由于主流浏览器供应商同时也是移动OS供应商,因此他们热衷于通过各自的应用商店来分发应用。Google鼓励原生的Chrome应用,Apple似乎打算实现最新的HTML5标准,但“却遗漏了性能相关的API,例如WebGL。”同样地,根据这份报告,HTML5的神话之一,是开发很简单;但实际上开发很难——因为缺少充足的调试和性能分析工具。
\在美国区的Google Play中,应用程序最常使用的API是:
\目前的HTML5 API标准的状态,以及浏览器的支持情况,如下图所示:
\如果某些特定API能够得以实现,那么对不同的市场路径造成的影响如下表所示。表中展现了如果拥有这些API,使用HTML5开发的应用数量将会上升的比例:\
\ 市场路径 \ | \ API \ | \ 百分比 \ |
\ 移动浏览器 \ | \ 电源管理 \ | \ 13% \ |
\ 原生应用包装 \ | \ 电源管理 \ | \ 12% \ |
\ Web到原生转换 \ | \ WiFi \ | \ 21% \ |
\ 原生JavaScript API \ | \ 日历 \ | \ 1.4% \ |
针对HTML5领域,这份报告总结出的若干观察和推荐如下:
\- 浏览器应该实现更多的HTML5 API,首先从电源管理和WiFi开始。开发者应该推动浏览器厂家实现更多的API。\
- 原生JavaScript应用需要标准化打包解决方案,以便实现一次打包就能在任何支持的平台上部署的目标。\
- 应该开发设备身份识别API,以减少与cookie和隐私相关的恐惧。\
- 开发者需要能够更好地获得HTML5相关知识,包括HTML5能够提供哪些能力、真正的优势和缺点。\
- 应该开发调试API,以便创建一系列调试工具。\