跨平台 PhoneGap 框架的调研 和 性能测试

来源:互联网 发布:淘宝寿衣 编辑:程序博客网 时间:2024/06/05 04:19


推荐2个 参考网站,也有相关的例子:phonegap中国    phonegap 官网

1.     PhoneGap 介绍

         PhoneGap是一个标准的开源框架,基于HTMLCSSJavaScript的,创建跨平台移动应用的快速开发平台。它支持iPhoneAndroidPalmSymbianWP7BadaBlackberry等平台。其实本质上来讲,PhoneGap只是加载原生应用的webView外壳,然后将外部的页面进行载入,所以其实际运行效果和通过网页访问效果一致;但因为有webview这个桥梁,所以又可以访问原生接口,这样就解决了HTML5不能访问设备api的问题。

 

2.     PhoneGap运行原理

       它实现跨平台的方式基本上就是使用内置的浏览器内核来运HTML CSSJavascript,例如在iOS中就是创建一个UIWebview来加载index.html

  我们可以使用 htmlcss实现页面布局,通过JavaScript与原生系统API,进行通讯。如下图所示:



 

 

3.     PhoneGap架构 

       应用运行在WebView组件上 ->通过PhoneGap在各平台的扩展 ->最终访问设备本地资源。



我们所要做的主要是web app 的开发,使用HTMLCSSJavaScript为用户界面创建PhoneGap应用程序。

同时PhoneGap还为我们提供了部分api接口,主要的api如下图:

 

4.     PhoneGap性能问题 

1)     经过真机打包测试,以及渲染效率和交互体验,发现PhoneGap 在执行脚本,复杂循环运算,以及渲染复杂页面时,效率低。

2)     稳定性及资源占用方面,手动频繁操作会引起,响应速度变慢,webkitWebView不能很好释放内存,导致内存占用上升,甚至会引起应用的crash

3)     PhoneGap程序的载入和UI界面的反应都比原生的程序慢,UI反应延时.它实际上还是在展示Web页面,所以载入、页面刷新等肯定是需要一定时间的。 这在用户体验上来说PhoneGap依然无法替代原生应用程序.

4)     PhoneGap各平台的api还在完善中,应用对一些api的调用需要依靠对PhoneGap的更新来获取支持。同时对于一些界面刷新频繁,加在大量png图片和注重用户体验的应用不建议使用该框架。

 

5.     发布AppStore存在风险

       如果使用PhoneGap框架的应用,界面交互偏离了苹果的原生系统交互原则,设计不够原生化,给用户带来的是网页体验而非native体验,不能与web体验区分开的应用很有可能被苹果拒绝上线。从而影响到产品的上线,以及带来的后续工作。

因此对PhoneGap应用的ui设计,交互设计,一定要有native的感觉,避免出现外壳包装网页的感觉。




最后推荐2个 参考网站,也有相关的例子:phonegap中国    phonegap 官网