Cordova概述

Cordova


    Apache Cordova is an open-source mobile development framework. It allows you to use standard web technologies - HTML5, CSS3, and JavaScript for cross-platform development. Applications execute within wrappers targeted to each platform, and rely on standards-compliant API bindings to access each device's capabilities such as sensors, data, network status, etc.

    Apache Cordova 是一个开源的移动开发框架,在其之上,可以使用标准的web开发技术(H5、CSS3)和JavaScript,进行跨平台应用的开发。应用运行在针对不同平台打包而成的容器内,且Cordova 依赖(也可以说成“提供了一组标准的API”)一组标准化的API来绑定访问每个设备的功能(例如:传感器、数据、网络状态等)。


Cordova概述


一、Cordova是什么?

Cordova是Apache的开源项目,在众多跨平台移动开发技术之中,Cordova是比较流行的一种,该框架可以让开发者使用HTML5+CSS+JavaScript 这些常见的 Web 开发技术来开发支持多平台的移动 App,开发者只需要掌握基本的 Web 开发知识,就可以开发出支持多平台的 App,大大减轻了工作量和学习成本。

Cordova 提供了丰富的插件 API 来支持本地原生功能调用。用 JavaScript 代码调用本地原
生功能看起来神秘,其实原理很简单。Cordova 实质上是利用了移动设备内置的 WebView
组件提供的与设备本地 API 双向通信的能力,Cordova 针对不同平台的 WebView 做了扩
展和封装,从而使开发者能够通过 JavaScript 访问设备的各种原生功能。

需要注意的是,Cordova需要目标平台的 SDK 才能编译,如编译 Android应用的话,必须安装 Android SDK,编译 iPhone 应用的话必须安装 iPhone SDK。Cordova本身并不包含这些特定平台的 SDK,需要另外安装,才能针对不同的平台编译出不同的 App。

二、Cordova架构

1.架构图

Cordova概述

2.WebView

The Cordova-enabled WebView may provide the application with its entire user interface. On some platforms, it can also be a component within a larger, hybrid application that mixes the WebView with native application components.

Cordova支持WebView方式来为应用程序提供完整的用户界面。在许多的平台当中,WebView作为一个进行混合开发的组件来对待,通过WebView这个媒介,将平台原生组件和web App之间建立联系。

3.Web App

*This is the part where your application code resides. The application itself is implemented as a web page, by default a local file named index.html, that references CSS, JavaScript, images, media files, or other resources are necessary for it to run. The app executes in a WebView within the native application wrapper.

WebApp作为你的应用的组成部分,应用自身是被当做一个WebPage来实施的,且在应用中有一个名为index.html的默认页,该页面引用了运行所必须的 CSS, JavaScript, images, media files和其它的资源,app运行在原生程序包中的WebView中。

This container has a very crucial file - config.xml file that provides information about the app and specifies parameters affecting how it works.*

WebApp包含一个非常重要的文件(配置文件)config.xml,该配置文件中提供了app工作时指定的参数。

4.Plugins***

Plugins are an integral part of the Cordova ecosystem. They provide an interface for Cordova and native components to communicate with each other and bindings to standard device APIs. This enables you to invoke native code from JavaScript.
插件作为Cordova 生态的组成部分,为Cordova和运行在每个平台上的原生组件之间提供了访问接口,且与标准的设备API进行绑定,使利用JavaScript调用原生代码成为可能。
Apache Cordova project maintains a set of plugins called the Core Plugins. These core plugins provide your application to access device capabilities.In addition to the core plugins, there are several third-party plugins which provide additional bindings to features not necessarily available on all platforms.
Core Plugins(核心插件)作为Cordova 项目的核心插件,其为应用提供了访问设备的能力。除了核心插件之外,还有一些第三方的插件,提供了绑定设备的能力,但这些插件并非支持所有的平台。

5.NOTE

When you create a Cordova project it does not have any plugins present. This is the new default behavior. Any plugins you desire, even the core plugins, must be explicitly added.
创建Cordova项目时,默认情况下,是不包含任何插件的,任何插件,哪怕是核心查询,都需要明确添加引用进来。
Cordova does not provide any UI widgets or MV* frameworks. Cordova provides only the runtime in which those can execute.
Cordova 也不提供任何的UI部件或框架,其仅仅提供这些框架的运行环境。

作者注
l部分内容来源于Cordova 官方文档

上一篇:Android移动APP开发笔记——最新版Cordova 5.3.1(PhoneGap)搭建开发环境


下一篇:vue使用cordova的大坑!!