一、简介
     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 workflowPlatform-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. 随时更新web html 项目页面,查看手机等其他移动设备的几种方法?

    想一想自己一边写着代码,一边随时看着手机更新页面,对于前端开发者来说是不是爽歪歪: 实现以上效果只需要几个方法: 1) 安装虚拟机 Oracle VM VirtualBox (安装过程省略) 2) 安 ...

  2. pytest的断言、跳过、运行的按需要处理

    def test_one(): assert 1==1 assert 1!=2 assert {'name':'linda','age':19}=={'name':'linda','age':190} ...

  3. 22-8-filter

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. BCZM: Chapter 2

    2.1 二进制数中 1 的个数 实现一个函数,输入一个无符号整数,输出该数二进制中的1的个数.例如把9表示成二进制是1001,有2位是1,因此如果输入9,该函数输出2 分析与解法 解法1:利用十进制和 ...

  5. leetcode-168周赛-1295-统计位数为偶数的数字

    题目描述: 方法一:O(N) class Solution: def findNumbers(self, nums: List[int]) -> int: ans=0 for num in nu ...

  6. C# 与 C/C++ 网络传输字符串解决方案

    { 不管你的数据加没加密,只要有中文,请转16进制后再处理,把16进制再转为GB2312的byte再发送, 接收的话同样 c++ 发送时转16进制再发送,c#16进制转字符串后再转GB2312就可以了 ...

  7. python 列表 实现队列

    主要用到两个函数 list.pop() 返回并删除最后一个, 也可以 list.pop(n) list.insert(0, item)

  8. 9.RabbitMQ Topic类型交换机

    RabbitMQ消息服务中Topic类型交换机根据通配符路由消息,*代表一个单词,#代表代表0或多个单词.   生产者 消费者   代码 Producer.java   package com.tes ...

  9. c# ToString()格式大全(转)

    stringstr1 =string.Format("{0:N1}",56789);               //result: 56,789.0stringstr2 =str ...

  10. nutch集成solr和中文分词

    nutch集成solr和中文分词 一.构建nutch环境 1. 设置代理 由于nutch使用ant构建,ant调用ivy,会从maven仓库中下载依赖包,因此若公司需要代理才能上网,需要设置代理,如果 ...