一、简介
     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的关系。
     选择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 项目,
但不可逆转。
 
 
 

phonegap 开发指南系列----简介(2)的更多相关文章

  1. phonegap 开发指南系列----开始之前(1)

    在基于任何平台(安卓.ios等phonegap支持的平台)上做phonegap开发之前,需要安装 cordova 的 command-line interface (CLI) .CLI详细:http: ...

  2. phonegap 开发指南系列(3) ----在Eclipse中Android开发环境搭建

      前提条件:已在Eclipse中安装好Android SDK 和 ADT. 1.下载PhoneGap,解压. 2.用Eclipse新建一个安卓项目. 3.将phoneGap解压包里的Android文 ...

  3. 现代java开发指南系列

    [翻译]现代java开发指南系列 [翻译]现代java开发指南 第一部分 [翻译]现代java开发指南 第二部分 [翻译]现代java开发指南 第三部分

  4. 现代前端库开发指南系列(二):使用 webpack 构建一个库

    前言 在前文中,我说过本系列文章的受众是在现代前端体系下能够熟练编写业务代码的同学,因此本文在介绍 webpack 配置时,仅提及构建一个库所特有的配置,其余配置请参考 webpack 官方文档. 输 ...

  5. Quartz.net官方开发指南系列篇

    Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用中.它提供了巨大的灵活性而不牺牲 ...

  6. node.js开发指南系列(1)partial is not defined

    ejs视图引擎中使用partial函数: <ul><%- partial('listitem', items) %></ul> 报错:partial is not ...

  7. HelloX操作系统网络功能简介及使用和开发指南

    HelloX网络功能简介及使用和开发指南 HelloX网络功能简介 作为物联网操作系统,网络功能是必备的核心功能之一.按照规划,HelloX实现了两个不同类型的TCP/IP协议栈,一个面向资源受限的嵌 ...

  8. 智捷公开课马上开始了-欢迎大家一起讨论学习-第一系列读《Swift开发指南(修订版) 》看Swift视频教程

    引用: 智捷课堂携手51CTO学院.图灵教育联合举办iOS线上培训就业班系列体验公开课. 分享移动开发.移动设计方向最新,最热,最抢眼技术热点以及设计经验.我们每周将最少举办一次公开课,同时会提前安排 ...

  9. C#开发BIMFACE系列1 BIMFACE 简介

    系列目录     [已更新最新开发文章,点击查看详细] BIMFACE 是什么 BIMFACE = 国内领先的BIM轻量化引擎 BIMFACE 是广联达公司旗下的一款具有完全自主知识产权的BIM轻量化 ...

随机推荐

  1. windows IIS FTP 不支持创建多级目录

    昨天因为这个事情搞了好久,因为客户那边使用的是IIS 上的FTP ,想着都差不多试着运行,结果竟然报错,说"错误550 文件不可用" 是在GetResponse()出现的异常,我用 ...

  2. C语言结构体和函数

    #include <stdio.h> struct Person { char *name; }; void change1(struct Person p); void change2( ...

  3. MySQL 小调研

    一. 概况: MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL ...

  4. Codeigniter 列出所有控制器和控制器的方法(类似路由列表)

    我的思路是: 读取控制器文件夹下的所有 php 文件 获取父级的控制器的方法的不应该出现在每个控制器的路由中,所以需要排除父级控制器的方法 读取 控制器文件夹下的 php文件的类名和方法 下面的代碼是 ...

  5. Cacti 添加 CPU 监听

    Cacti版本: 0.8.8a 將 http://forums.cacti.net/about29832-0-asc-135.html 网址的template下载,有1,2,4,8,12,16核心的t ...

  6. 过滤掉map集合中key或value为空的值

    package cn.com.utils; import org.apache.commons.lang3.StringUtils; import java.util.Collection; impo ...

  7. JUC 一 FutureTask

    java.util.concurrent public class FutureTask<V> implements RunnableFuture<V> 简介 FutureTa ...

  8. OpenGL glfw

    { https://github.com/glfw/glfw }

  9. Spring-Security (学习记录二)--修改为自己的登录页面

    目录 1.修改spring-security.xml配置文件 2.增加login.jsp页面 3.重启项目即可看到效果 1.修改spring-security.xml配置文件 <!-- auto ...

  10. 基于Netty的RPC架构学习笔记(十):自定义数据包协议

    文章目录 数据包简介 粘包.分包现象 数据包格式 举个