您的位置:首页 > Web前端 > HTML5

PhoneGap:免费开源的 HTML5 移动应用开发平台

2013-04-25 09:32 543 查看


初识PhoneGap

by  josson—前端开发 | 2012-04-11




一、PhoneGap是什么?
PhoneGap是一个标准的开源框架,用PhoneGap开发移动应用是免费的,无论是商业或是开源;一个用基于HTML,CSS和JavaScript的,创建跨平台移动应用的快速开发平台。它使开发者能够利用iPhone、Android、Palm、Symbian、WP7、Bada和Blackberry智能手机的核心功能——包括地理定位,加速器,联系人,声音和振动等,此外PhoneGap拥有丰富的插件,可以以此扩展无限的功能。
PhoneGap由Nitobi 公司创建,并于2011.10被Adobe收购,并捐赠给Apache基金组织,PhoneGap是唯一的一个支持7个平台的开源移动框架。框架提供了丰富接口用于访问移动设备本地API,能够让你用javascript轻松调用。当前最新版本:1.5。


目前开发移动程序框架选择很多,如PhoneGap、Titanium、MonoTouch、Native App,兼容性越强的技术,成本越低,性能越差;兼容性越差的技术,成本越高,性能越好。PhoneGap是目前最被看好的:
 兼容性:完全做到了Written Once,Run Everywhere!
标准化:PhoneGap采用W3C标准,Web App直接运行!
采用普通web开发技术:JavaScript+HTM5+CSS3。
 
存在不足:
性能,正常操作速度流畅,频繁操作响应会变慢。
稳定性及资源占用方面,手动频繁操作会引起,响应速度变慢,webkit的WebView不能很好释放内存,导致内存占用上升,甚至会引起应用的crash。
二、PhoneGap如何工作?

PhoneGap架构拥有强大的跨平台访问设备能力,但是其工作原理并不神秘,iPhone和Android平台共同点是都有内置的WebView组件,其具备两个特性:
WebView组件实质是移动设备的内置浏览器
WebView这个内置浏览器特性是Web能被打包成本地客户端的基础,可方便的用HTML5、CSS3页面布局,这是移动Web技术的优势相对于原生开发。
WebView提供Web和设备本地API双向通信的能力
PhoneGap针对不同平台的WebView做了扩展和封装,使WebView这个组件变成可访问设备本地API的强大浏览器,所以开发人员在PhoneGap框架下可通过JavaScript访问设备本地API。



PhoneGap与设备本地API通信图
一个成熟的PhoneGap技术客户端运行状况:应用运行在WebView组件上 -> 通过PhoneGap在各平台的扩展 -> 最终访问设备本地资源。



PhoneGap架构图
三、API指南
Accelerometer点击进入设备的运动传感器。Events通过JavaScript截获本地事件。
Camera使用设备的摄像头采集照片。File通过JavaScript截获本地文件系统。
Capture使用设备的媒体采集应用程序采集媒体文件。Geolocation使得你的应用程序可以访问地理位置信息。
Compass获取设备指向的方向。Media录制和播放音频文件。
Connection快速检查WiFi或蜂窝网络的信息。Notification设备的视觉、声音和触觉提醒。
Contacts和设备联系人数据库相关操作。Storage截获设备的本地存储选项。
Device收集设备的具体信息。 
四、参考资料
1、Javascript移动开发框架
jQuery Mobile:http://jquerymobile.com/
jQTouch:http://jqtouch.com
Sencha Touch: http://mobile.51cto.com/Sencha-278623.htm
PhoneGap + 合适的javascript开发框架,轻松开发出原生风格的移动应用。选择哪种js框架,你可以通过:《三大移动Web开发框比较分析》一文,选择适合的框架。
2、PhoneGap社区
PhoneGap官网:http://phonegap.com/
PhoneGap中国社区: http://www.phonegap.cn
PhoneGap中国: http://www.phonegapcn.com/
51CTO专题(跨平台移动web中间件PhoneGap开发入门) :http://mobile.51cto.com/hot-273792.htm

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: