论坛首页 移动开发技术论坛

PhoneGap系列专题之一:架构基础及工作原理介绍

浏览 11556 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-12-12  

PhoneGap系列专题之一:架构基础及工作原理介绍


本篇文章从PhoneGap由来、功能以及工作原理,力争由浅入深介绍PhoneGap框架。


为什么需要PhoneGap?


移动技术的发展对于开发人员来说是个悲剧,开发应用需顾及到不同平台的框架和开发语言,如iPhone、Android、Windows Mobile等。

PhoneGap基于标准的Web技术,在Web应用和设备之间搭建一个通信的桥梁,封装各种设备平台差异,提供统一的JavaScript接口。 

PhoneGap是一个标准的开源框架,用PhoneGap开发移动应用是免费的,无论是商业或开源。

PhoneGap能做什么?


1、基于Web技术开发移动设备客户端应用

用您熟悉的JavaScript、HTML技术,或者结合移动Web UI框架jQuery MobileSencha Touch 开发跨平台移动客户端。

2、用PhoneGap访问设备本地API

提供跨平台设备访问能力,以下列出访问设备部分功能,本系列专题在以后文章中详解使用方法。


ACCELEROMETER(重力感应)

CAMERA(摄像机)

COMPASS(指南针)

CONTACTS(通讯录)

FILE(文件)

GEOLOCATION(地理定位)

MEDIA(媒体)

NETWORK(网络)

NOTIFICATION (通知)

STORAGE(Sqlite数据库存储)


3、发布您的程序到不同移动平台

Phongap Build 提供在线打包Web应用到各移动平台客户端的能力,下一篇文章实例介绍将本社区开源项目Sencha Touch 2 DEMO打包成Android平台APK文件的方法。下图是PhoneGap Build在线打包完成,并且提供下载的界面:

 

 

PhoneGap如何工作?


PhoneGap架构拥有强大的跨平台访问设备能力,但是其工作原理并不神秘,下面以iPhone和Android平台为例进行分析。

iPhone和Android平台共同点是都有内置的WebView组件,其具备两个特性:

1、WebView组件实质是移动设备的内置浏览器

WebView这个内置浏览器特性是Web能被打包成本地客户端的基础,可方便的用HTML5、CSS3页面布局,这是移动Web技术的优势相对于原生开发。

2、WebView提供Web和设备本地API双向通信的能力

PhoneGap针对不同平台的WebView做了扩展和封装,使WebView这个组件变成可访问设备本地API的强大浏览器,所以开发人员在PhoneGap框架下可通过JavaScript访问设备本地API。

明白以上两个特性,参照下面PhoneGap与设备本地API通信图,一个成熟的PhoneGap技术客户端运行状况如下:

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


 
【转载请注明以下信息】 
作者:刚子 
来自:移动Web开发社区 
原文链接:http://www.html5mobi.com/discussion/164/phonegap 
下篇文章预告: PhoneGap系列专题之二:实例讲解在线打包Web到Android平台客户端应用 
相关知识链接:刚子另一篇综合介绍移动Web开发技术的PPT下载

   发表时间:2011-12-15  
http://www.html5mobi.com/ 打不开
0 请登录后投票
   发表时间:2011-12-15  

[quote="yellen"]http://www.html5mobi.com/ 打不开[/quote] 服务器放在双线机房,使用电信或者网通,或者交流群186206896。

PhoneGap系列专题之二:实例讲解在线打包SenchaTouch2到Android客户端应用

0 请登录后投票
   发表时间:2011-12-15  
startcallbutton 事件只支持黑莓系统,纠结得很啊!!!
0 请登录后投票
   发表时间:2011-12-16  
目前正基于此做开发,PhoneGap+JqueryMobile在Android感觉很慢,并且体验不是怎么好。
0 请登录后投票
   发表时间:2011-12-16  
guokwei 写道
目前正基于此做开发,PhoneGap+JqueryMobile在Android感觉很慢,并且体验不是怎么好。

移动Web开发最佳搭档:Sencha Touch 2 + PhoneGap ,这里有Sencha Touch 2开源实例:
基于Sencha Touch 2移动站点开源项目-来自移动Web开发社区开源计划
0 请登录后投票
   发表时间:2011-12-16  
手机上的应用开发迟早要统一,构建在各种手机操作系统之上的虚拟机必然会流行,当前无法流行的问题主要是虚拟机耗费过多电能而被厂商限制而已。但是在IPAD等平板电脑上的虚拟机则无此限制。
0 请登录后投票
   发表时间:2011-12-19   最后修改:2011-12-19
泰山北斗 写道
手机上的应用开发迟早要统一,构建在各种手机操作系统之上的虚拟机必然会流行,当前无法流行的问题主要是虚拟机耗费过多电能而被厂商限制而已。但是在IPAD等平板电脑上的虚拟机则无此限制。

这个行业从来不缺乏新技术来解决问题,目前从架构原理看有几种跨平台方案:
1、WebView 组件为基础,如PhoneGap
2、楼上兄弟所说虚拟机技术,如Adobe AIR
移动Web开发社区重点关注PhoneGap框架和UI框架SenchaTouch2、jQuery Mobile。
0 请登录后投票
   发表时间:2011-12-19  
最近也在研究这个。
0 请登录后投票
   发表时间:2011-12-21  
比较看好这个框架
0 请登录后投票
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics