最近在研究移动应用的开发框架,框架有很多,80%以上是使用html+css+javascript+ajax的web框架,我把方向也专注与此,因为phonegap可以轻松的把由html+javascript开发的应用转成android app,iphone app和其他的java app。
在网上也看过很多老外写的对比,其中比较典型的是jqtouch,jquery,sencha touch,dojo mobile以及 iwebkit.
JQtouch 我在一篇老外的文章里写过了,效率非常的低,特别是在页面转换的时候,速度难以忍受,实际上jquery mobile也好不到那里去,下面我会有详细的测试数据。使用jqtouch 和 jquery mobile 的优点是学习成本比较低,入手迅速,这两个平台支持大部分的手机型号。
sencha touch,首次载入速度比较慢,载入之后页面切换速度好一些,但是因为全屏展示之后页面切换有停顿的时间而没有进度条显示总感觉怪怪的。另外sencha touch 的使用成本比较高,它采用纯粹的面向对象的javascript,比较难入手,美工很难帮上忙。sencha也支持大部分的手机。
dojo mobile,首次载入速度比sencha touch好一些,但是页面切换的停顿介于sencha 和 jquery mobile之间,使用难度相对jquery稍高。
iwebkit,首次载入速度和页面切换速度都很快,也有进度条展示,大部分在1-2秒之间,使用html+javascript的方式开发,比较容易上手,缺点是iwebkit官方只支持iphone 和 ipad。
以下测试是用android手机,7625芯片测试,使用的3G网络。
框架 | 应用载入 | 载入新页面 | 返回旧页面 | 其他 | 使用成本 |
Sencha Touch | 10-15秒 | 2-5秒 | 1-3秒 | 支持所有平台 | 完全靠javascript,成本高 |
Jquery Mobile | 5-10秒 | 3-8秒 | 3-5秒 | 支持所有平台 | Html+css+javascript,中等程度的高 |
IWebKit | 1-2秒 | 1-2秒 | 1-2秒 | 官方只支持iphone,android基本支持,需要简单修改css | 相对前面二者要简单 |
Dojo mobile | 10-15秒 | 2-5秒 | 1-5秒 | 支持所有平台 | 比jquery 效率稍高,但是仍然不能让人满意 |
结论:使用iwebkit作为开发框架,虽然IWebKit官方只支持iphone 系列,但是都是基于webkit浏览器引擎,我用android测试iwebkit的demo效果也很好,目前我们的需求主要是iphone 和android的手机客户端,所以满足这两个平台已经足够。欢迎大家交流