一、简介
     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. jquery插件小集合

    一.滑动轮播插件Swiper Swiper官网http://www.swiper.com.cn/, 这款插件移动端,pc端均试用 二.jquery-tmpl----让你从拼接字符串中解放出来 官方下载 ...

  2. mtv 与mvc

    1.MVC与MTV模型 MVC模型 Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的.松耦合的方式连接在一起,模型 ...

  3. 从可变长函数到legb

    可变长参数 * *形参 用元组接收接收多余的位置实参 约定俗成形参名为 *args def f1(*args):#调用函数时,有多少个参数我就接收多少个 res = 0 for num in args ...

  4. 1、如何在列表,字典,集合种根据条件筛选数据?2、如何为元组中的每个元素命名,提高程序的可读性3、如何统计出序列中元素出现的频度4、如何根据字典中value的大小,对字典的key进行排序

    一.数据筛选: 处理方式: 1.filter函数在py3,返回的是个生成式. from random import randint data = [randint(-100,100) for i in ...

  5. HTTP信息头处理器

    就是HTTP请求头-Header

  6. 微信小程序开发系列之Hello World

    第一步:注册 在微信公众平台官网首页,点击注册.(相关文档可以找到,这里不再累述,望见谅.) 微信小程序注册成功后界面 第二步:编辑器.开发工具 我们假定你已经申请注册好微信小程序了,我们选定一个代码 ...

  7. python指定概率随机取值 理解np.random.seed()

    python指定概率随机取值参考如下: 下面是利用 np.random.choice()指定概率取样的例子: np.random.seed(0) p = np.array([0.1, 0.0, 0.7 ...

  8. 笔记55 Mybatis快速入门(六)

    相关概念介绍(一) 1.日志 有时候需要打印日志,知道mybatis执行了什么样的SQL语句,以便进行调试.这时,就需要开启日志,而mybatis自身是没有带日志的,使用的都是第三方日志,这里介绍如何 ...

  9. native 之bitmap 保存坑

    之前开发项目的时候遇到几次一键保存二维码,或凭证的需求,但是使用h5 a标签 保存网络图片有些并不支持,于是想到了 使用navite 的bitmap可能会好一些 bitmap js封装后的原生图片对象 ...

  10. WPF RichTextBox 当前光标后一个字符是文档的第几个字符

    WPF RichTextBox 当前光标后一个字符是文档的第几个字符 运行环境:Win10 x64, NetFrameWork 4.8, 作者:乌龙哈里,日期:2019-05-05 参考: TextP ...