网站地图    收藏   

主页 > 前端 > html5 >

HTML5漫谈(4)--HTML5应用平台:PhoneGAP

来源:未知    时间:2014-11-07 14:48 作者:xxadmin 阅读:

[导读] 1、PhoneGAP是什么? PhoneGAP( http://phonegap.com )按官方说法,是HTML5移动应用平台,它包括两部分: 1)应用开发框架:采用Web/HTML5技术编写应用,支持设备能力(如GPS、重力感应等)调用...

1、PhoneGAP是什么?

PhoneGAP(http://phonegap.com)按官方说法,是HTML5移动应用平台,它包括两部分:

1)       应用开发框架:采用Web/HTML5技术编写应用,支持设备能力(如GPS、重力感应等)调用;支持能力插件灵活扩展。

 

图1 PhoneGAP支持设备能力API列表

2)       手机应用创建工具:将遵循PhoneGAP应用框架编写的程序转换/封装生成各平台支持的手机应用。

图2 进去的是网页,出来的是本地应用

 

2、PhoneGAP有什么用?

1)有了PhoneGAP,用HTML5技术也能开发出传统意义上的手机本地应用,同时可以通过Javascript调用摄像头、位置信息等设备能力。

2)有了PhoneGAP,用HTML5写好程序后就能生成多个手机平台版本的本地应用,目前支持7个平台:Android、iOS、WindowsPhone、HP WebOS、BlackBerry、 Symbian、Bada。

简单地说,PhoneGAP让Web程序员无需重新学习,即可开发手机应用;实现了Web应用本地化;大大降低开发成本。

 

3、PhoneGAP基本技术原理:

基于PhoneGap应用框架实现的手机应用相当于展示某个网页应用的特别浏览器。PhoneGAP将Web程序打包成系统支持的手机应用格式(方便应用的分发、使用),通过调用系统的浏览器功能实现应用的运行及交互操作。

 

1)               开发语言选择:Web/HTML5几乎是各手机智能平台唯一共同支持的开发技术。因此,PhoneGAP采用HTML5技术作为程序开发语言。这也是同一套应用程序能在多个平台运行的技术基础。

2)               应用呈现:各个智能平台都具备并开放了浏览器功能,因此,PhoneGAP通过调用WebView(浏览视图,具有浏览器基本功能的组件)实现应用UI的呈现及业务逻辑处理。

3)               JS API扩展:PhoneGAP针对不同平台的WebView做了扩展和封装,使得应用可以通过Javascript访问各种本地设备API。

4)               插件扩展:实现了一套灵活的插件扩展框架,允许开发者自行扩展能力插件。

 

需要特别说明的是:在SYMBIAN平台 上,PhoneGAP并非把Web应用打包成本地应用(SIS),而是打包成Widget应用(wgz)(相当于把若干网页打包成一个文件),因为S60 v5、Symbian3大多手机支持WRT(Web RunTime)Widget格式。这样做,非常简单,而且还避免了比较麻烦的SYMBIAN签名问题。

图3 设备能力调用原理示意

 

4、关于PhoneGAP 

PhoneGAP是Nitobi公司的产品,该公司位于加拿大温哥华。

2011年10月,Adobe收购了Nitobi公司,并把PhoneGAP项目捐给Apache基金会(ASF)。PhoneGAP免费并且开源(遵循Apache 2.0 License)。

PhoneGAP在Apache里的项目名称叫Cordova(原来叫Callback):(网站/源码:http://incubator.apache.org/projects/callback.html

目前基于PhoneGAP开发应用有几千款,应用列表:http://phonegap.com/apps 

5、PhoneGAP的未来

尽管PhoneGAP在应用的性能、应用支持的功能以及应用的用户体验等方面还有很大的提升空间,
但它的出现无疑将有助于HTML5应用的发展。

在我看来,PhoneGAP最大的价值是:它颠覆HTML5应用的分发方式,改变HTML5应用的商业模式,并加速HTML5应用的发展进程。

它带来的精彩或许刚刚开始,让我们拭目以待。


自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论