概述

优质
小牛编辑
120浏览
2023-12-01

Apache Cordova 是开源的移动开发框架。允许你使用标准的 web 技术,如 HTML5、 CSS3 和 JavaScript 来构建跨平台的开发,从而避免使用原生的开发语言。应用针对每个平台进行包装内执行,并依靠符合标准的 API 绑定来访问不同设备的传感器,数据和网络状态。

Apache Cordova 在2012年10月成为 Apache Software Foundation (ASF) 的顶级项目,在 Apache License v2.0 协议下继续保持开源和免费。

Apache Cordova 面向的用户主要有:

  • 移动开发者,想要扩展应用程序到多个平台上,而不必用每个平台的语言和工具集重新实现它。
  • Web开发人员,希望部署 Web 应用程序打包分发到各种应用程序商店门户。
  • 移动开发者,对原生应用程序与 可以访问设备级的 API 的 WebView(特殊的浏览器窗口)组件混合开发感兴趣,或者想开发原生与 WebView 组件之间的插件接口。

基本组件

Cordova 应用程序依赖于一个共同的 config.xml 文件,提供有关应用程序的信息,并指定影响它的工作原理,如,是否响应方向的变化参数。该文件遵循 W3C 打包的 Web应用程序,或插件,规范。

该应用程序本身是一个网页,在默认情况下名为 index.html 的本地文件,即无论引用CSS,JavaScript,图片,多媒体文件或其他资源都需要它来运行。该应用程序执行的本地应用程序包装内的 WebView。

Cordova 使得 WebView 可提供其整个用户界面应用程序。在某些平台上,它也可以是混合了原生应用组件和 WebView 的 hybrid 应用。(见 嵌入 WebViews了解详细信息。)

一个插件接口用于 Cordova 和原生组件相互通信。这使您可以让 JavaScript 调用原生代码。理想情况下,JavaScript API 面向了原生代码在多个设备平台是一致的。3.0 版本,提供了插件绑定标准的设备 API。第三方插件提供额外的绑定功能并不一定适用于所有平台的。您可以在插件注册表中找到这些第三方插件,并可以在你的应用程序使用他们。您也可以开发自己的插件,参考插件开发指南中的介绍。插件是必要的,例如,Cordova 和自定义的原生组件之间的通信。

注意: 3.0 版本,当创建一个 Cordova 项目时,并默认不会有任何插件存在,如果想使用插件,需要显示添加相应的插件。

Cordova 并不提供任何 UI 组件或者 MV* 框架。如果需要,需要自己添加第三方包。

开发路径

3.0 版本,主要提供2种开发移动应用的流程,他们各有优势:

  • Cross-platform (CLI) workflow(跨平台(命令行界面)的工作流程):如果你希望你的应用程序,在尽可能多的不同的移动操作系统上运行,很少需要特定平台开发,那么你适合使用此工作流程。该工作流程围绕 cordova 工具为中心,就是 3.0 中引入的 Cordova CLI。CLI 是一个高层次的工具,可以让您一次搭建多种平台项目,抽象出许多低级别的 shell 脚本的功能。该CLI 复制一套通用的网络资源集注入到子目录每个移动平台中,使得任何必要的配置更改,就运行构建脚本生成应用程序二进制文件。 CLI 还提供了通用接口应用到你的应用程序中。有关CLI的更多详细信息,请参阅命令行界面。除非你有使用以平台为中心的工作流程的必要,否则建议使用跨平台的工作流。
  • Platform-centered workflow (平台为中心的工作流程):如果你想专注于建立一个应用程序的单一平台,并需要能够在较低的水平,对其进行修改,请使用此工作流程。您需要使用这种方法,例如,如果你希望你的应用程序混合使用基于 Web 的Cordova 组件定制的本地组件。作为一个经验法则,如果你需要修改 SDK 中的项目,那么请使用此工作流程。该工作流依赖于一组低级别的 shell 脚本针对每个支持的平台,和一个单独的 Plugman 工具。虽然你可以使用这个流程来构建跨平台的应用程序,但是比较困难,因为缺乏一个更高级别的工具,来适应独立的构建周期和不同平台的插件更新。不过,这个工作流程让您可通过每个 SDK 提供的开发方案更多的机会,而且是复杂的混合应用程序所必不可少的。见 平台开发指南 了解更多详情。

当第一次开始,最容易使用的跨平台的工作流程来创建一个应用程序。然后如果你需要更好地控制 SDK ,您可以切换到以平台为中心的工作流程。低级别的 shell 工具在与 CLI 类似的单独的发布包中。对于由 CLI 最初生成的项目,这些 shell 工具也都在项目的 platforms/*/cordova 目录中找到。

注意:一旦你从 CLI 的工作流程来转到特定于平台的 SDK 和 shell 工具为中心,你不能转回去了。该 CLI 维护一套通用的跨平台的源代码,基于它来改写特定平台的源代码。为了保护您对特定平台的资源的任何修改,你需要切换到该平台为中心的 shell 工具,依赖于特定平台的源代码而忽略了跨平台的源代码。

安装 Cordova

不同的流程有不同的安装方式:

  • Cross-platform workflow: 见 命令行界面
  • Platform-centered workflow: 见 平台开发指南

安装之后,建议你针对你需要开发的平台,对照 平台开发指南。同时建议你查看隐私指南,安全指南,以及后续步骤。对于配置 Cordova,请参阅 config.xml 文件。对于从 JavaScript 一个访问设备上的本地函数,请参考插件API。

最后更新:

类似资料

  • 概述 国际化和本地化的目的就是让一个网站应用能做到根据用户语种和指定格式的不同而提供不同的内容。 Django 对文本翻译, 日期、时间和数字的格式化,以及时区提供了完善的支持。 实际上,Django做了两件事: 由开发者和模板作者指定应用的哪些部分应该翻译,或是根据本地语种和文化进行相应的格式化。 根据用户的偏好设置,使用钩子将web应用本地化。 很显然,翻译取决于用户所选语言,而格式化通常取决

  • 虽然Django 满满的便捷性让Web 开发人员活得轻松一些,但是如果不能轻松地部署你的网站,这些工具还是没有什么用处。Django 起初,易于部署就是一个主要的目标。有许多优秀的方法可以轻松地来部署Django: 如何使用WSGI 部署 部署的检查清单 FastCGI 的支持已经废弃并将在Django 1.9 中删除。 如何使用FastCGI、SCGI 和AJP 部署Django 如果你是部署D

  • 本书概述 进程的概念大家都很熟悉,但你是否能准确说出僵尸进程的含义呢?还有 COW(Copy On Write)、Flock(File Lock)、Epoll 和 Namespace 的概念又是否了解过呢? 本书汇集了进程方方面面的基础知识,加上编程实例,保证阅读后能自如地回答以上问题,在项目开发中对进程的优化也有更深的理解。 本书架构 本书按循序渐进的方式介绍进程的基础概念和拓展知识,主要涵盖以

  • Docker在1.12.0和以上版本中增加了swarm模式。通过swarm模式管理的Docker Engines集群称之为“Swarm”。并可以通过Docker CLI来创建Swarm,在Swarm中部署应用服务,以及管理Swarm。 功能特点 在Docker Engines中集成了集群管理功能:通过Docker CLI可以创建一个用来发布应用services的swarm,而不需要安装其他任何额外

  • 这是 Elasticsearch 官方的 PHP 客户端。我们把 Elasticsearch-PHP 设计成低级客户端(低级设计模式),使用时不会偏离 REST API 的用法。 客户端所有方法几乎都与 REST API 对应,而且也与其他编程语言的客户端(如 ruby, python 等)方法结构相似。我们希望这种对应方式可以方便开发者更加容易上手客户端,且以最小的代价快速从一种编程语言转换到另

  • 特点 为什么用 Groovy?