一、简介
Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头、麦克风等。
Cordova还提供了一组统一的JavaScript类库,以及为这些类库所用的设备相关的原生后台代码。
Cordova支持如下移动操作系统:iOS, Android,ubunto phone os, Blackberry, Windows Phone, Palm WebOS, Bada 和 Symbian。
Cordova是贡献给Apache后的开源项目,是从PhoneGap中抽出的核心代码,是驱动PhoneGap的核心引擎。你可以把他想象成类似于Webkit和Google
Chrome的关系。
Chrome的关系。
选择phonegap的三种情况:
1)移动开发时,希望开发出的应用能够跨平台时。
2)Web 开发者希望web应用用程序可以被分发到各种app商店。
3)移动开发者结合本地和WebView两种方式来开发,并且希望WebView里的页面可以访问设备级别的API,或者是想开发一个基于本地与WebView通信的插件接口。
二、Cordova的基本组件
1) config.xml 文件:包含了应用程序信息、应用程序运行配置(如:设置应用程序是否响应横屏操作)等。这个文件遵循W3C's Packaged Web Apps (Widgets) 标准。
2) 应用程序的Web 页面(默认名为 index.html):它包含了 Css、JS、images、媒体文件和其它要用到的资源的引用。
3) Cordova-enabled WebView:它用来提供完整的用户界面。在一些平台上它也能与结合原生的界面一起,作为原生界面的一部分在WebView里显示。
4)plugin interface:与原生程序通信。从Version3.0 版本后,插件提供了捆定设备的标准的API接口。注意,第三方提供的插件不一定支持所有一平台。当然,你也可以开发自己的插件。
三、开发方式
从version3.0版本后,你可以用两种方式(Cross-platform workflow 和 Platform-centered workflow)来开发一个mobile应用。
虽然可以用这两种开发方式做完成同一件开发任务,但它们各有其自己的特点。
Cross-platform workflow: 这种开发方式开发出来的应用能够跨平台。当然在需要在程序里做针对各平台做一些兼容性的编程和设置。
Platform-centered workflow:这种开发方式主要是针对一个目标平台的开发。如果你的应用程序中涉及到一些底层一些的东西就要用到这种开发方式。如果你想做Native和WebView混合的应用或修改SDK,也要用 Platform-centered workflow 的方式来开发。
注: Cross-platform workflow 可以转换成 Platform-centered workflow 项目,
但不可逆转。