PhoneGap介绍
PhoneGap是一个开源的移动开发框架。它允许您使用标准的Web技术,比如HTML5,CSS3和JavaScript的跨平台开发,避免每一个移动平台的原生开发语言。应用针对每个平台的封套内执行,并依靠符合标准的API绑定来访问每个设备的传感器,数据和网络状态。.
PhoneGap开发适合的对象:
移动开发者,并希望扩展应用程序跨多个平台,每个平台的语言和工具集,而无需重新实现它。
一名Web开发人员,并要部署一个web应用程序的打包分布在不同的应用程序商的门户。
移动开发者有兴趣在本地应用程序组件的混合用的WebView(浏览器窗口),可以访问设备级别的API,或者,如果你想开发一个插件的本地和WebView组件之间的接口。
PhoneGap基本组件
PhoneGap的应用程序依赖于一个共同的config.xml文件,提供有关应用程序的信息,并指定参数的影响,它是如何工作的,例如它是否响应方向转变。该文件坚持W3C的 Web应用程序打包,或部件,规格。
应用程序本身被实现为一个网页,名为 index.html的默认情况下,引用的CSS,JavaScript,图片,媒体文件或其他资源是必要的它运行。该应用程序作为原生应用程序包装,分发到应用程序商店内的WebView执行。对于Web应用与本地应用程序做各种设备功能的方式,还必须引用cordova.js的文件,它提供的API绑定。
PhoneGap的WebView可提供应用程序与它的整个用户界面。在一个更大的,混合的混合应用程序,web视图与本机应用程序组件之内,它也可以是一个组件。cordova提供了一个插件,在这些组件的接口互相通信。
在这些组件的接口互相通信。开发步奏
建立一个应用程序最简单的方法是运行的cordova
命令行实用程序的命令行界面
(CLI) ,也被称为。(安装CLI,cordova命令行界面)。根据你希望的目标的平台上设置的,你可以依靠的CLI上为开发周期股逐渐增大:
在最基本的情况下,您可以使用CLI只需填入您修改默认配置来创建一个新的项目。
对于许多移动平台,你也可以使用CLI来设置需要在每个SDK编译额外的项目文件。对于这个工作,你必须安装每个目标平台的SDK, 正如下面的平台支持表,您可能需要在不同的操作系统,这取决于目标平台上运行CLI。
支持平台,CLI可以编译可执行文件的应用程序,并运行在一个SDK或基于浏览器的设备模拟器,取决于你想测试的设备功能 全面的测试,你还可以生成应用程序文件,并将它们安装直接在设备。
在开发周期中的任何一点,你也可以依赖于特定平台的SDK工具,可提供一组更加丰富的选择。 SDK环境是比较合适的,如果你想实现一个混合应用程序,基于Web和本地应用程序组件混合 您可以使用命令行实用程序,最初生成的应用程序,或此后迭代养活SDK工具更新后的代码。您还可以建立自己的应用程序的配置文件。
平台支持
下面显示的是一套开发工具和设备,可为每个移动平台的API::
Android | Blackberry | Blackberry 10 | iOS | Windows Phone 7 |
Windows Phone 8 |
Windows 8 |
||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cordova CLI |
Mac, Windows, Linux | Mac, Windows | Mac, Windows | Mac | Windows | Windows | ||||||||||||||
PhoneGap Build |
||||||||||||||||||||
IDE platform support | ||||||||||||||||||||
Embedded WebView |
||||||||||||||||||||
Plug-in Interface |
||||||||||||||||||||
Platform APIs | ||||||||||||||||||||
Accelerometer | ||||||||||||||||||||
Camera | ||||||||||||||||||||
Capture | ||||||||||||||||||||
Compass | (3GS+) | |||||||||||||||||||
Connection | ||||||||||||||||||||
Contacts | ||||||||||||||||||||
Device | ||||||||||||||||||||
Events | ||||||||||||||||||||
File | ||||||||||||||||||||
Geolocation | ||||||||||||||||||||
Globalization | ||||||||||||||||||||
InAppBrowser | ||||||||||||||||||||
Media | ||||||||||||||||||||
Notification | ||||||||||||||||||||
Splashscreen | ||||||||||||||||||||
Storage |