概述
Apache Cordova
是开源的移动开发框架,允许你使用标准的 web 技术(HTML5
、CSS3
和JavaScript
)来开发跨平台应用。应用在目标平台的包装器内运行,并依赖于标准的 API 绑定来访问每个设备的能力,例如传感器、数据、网络状态等等。
使用Apache Cordova
如果你是:
希望不需要为每个平台语言和工具集重新开发就可以让应用跨平台的移动开发者;
想要打包 web app 来分发到不同的应用商店的 web 开发者;
对混合开发(混合原生应用组件和 WebView )感兴趣的移动开发者,或者想在原生组件和 WebView 之间开发插件接口的开发者。
体系结构
Cordova 应用有几个组件,下图从高层视角展示了 Cordova 应用的体系结构。
Architecture
WebView
Cordova
有效的 WebView 可以为应用提供全部的用户界面。在某些平台上,也可能是混合了本地应用组件和 WebView 的更大的、混合应用内部的一个组件。
Web App
这是你的应用程序代码驻留的地方。应用本身实现为网页,默认情况下,名为 index.html
的本地文件会引用一些资源(CSS、JavaScript、images、媒体文件或者其它必须的资源)来让应用运行。应用在原生应用程序(就是你分发到应用商店的那个)包装器内部的 WebView 中执行。
容器内有一个非常重要的文件 config.xml
。这个文件提供关于应用的一些信息和影响它运行的指定参数,例如是否会响应屏幕旋转。
插件
插件是 Cordova 体系的一个完整部分。它们为 Cordova 和原生组件通信提供接口和标准设备 API 集的绑定,这让你可以通过 JavaScript 调用原生代码。
Apache Cordova 工程维护一组名为核心插件
的插件集。这些插件为你的应用提供访问设备的能力,例如电池、照相机、联系人等等。
除了核心插件
之外,还有许多第三方插件,这些第三方插件会提供额外的不必对所有平台可用的特性绑定。你可以使用 plugin search 或者 npm 查找 Cordova 插件。你也可以按照 Plugin Development Guide 开发自己的插件。插件可能是必需的,例如,Cordova 和自定义原生组建间的通信。
注意:新创建的 Cordova 工程,没有任何插件出现在里面,这是新的默认行为。任何所需的插件(包括核心插件),都必须显式添加。
Cordova 不提供 UI 部件和 MV* 框架。Cordova仅提供 runtime 环境。如果你要使用 UI 部件或者 MV* 框架,你得自己去选择并包含到你的应用中。
开发路线
Cordova 提供两个基本工作流来开发移动 app,然而你可以同时使用两个工作流来完成同样的任务,它们都有各自的优点。
跨平台(CLI)工作流
如果你希望在指定平台上进行较少的开发就可以让 app 运行到尽可能多的操作系统上面,使用这个工作流。这个工作流以 Cordova CLI 为中心。CLI 是一个高级工具,它允许你快速为多个平台编译工程,抽离了许多底层 shell 脚本功能。CLI把一组通用的 web 资源拷贝到相应平台的子目录,为每个平台修改必要配置,运行脚本来生成应用二进制文件。CLI还提供了通用接口来让你在应用中使用插件。按照 create your first app 指南的步骤来开始。除非你真的需要平台中心工作流
,推荐使用跨平台(CLI)工作流
。平台中心工作流
如果想要聚焦于为单一平台构建一个 app,并且需要能够在底层进行修改,使用这个工作流。你需要使用这种方式,例如,你想让你的app混合自定义原生组建和基于 web 的 Cordova 组件,就像 Enbedding WebView所讨论的那样。作为一个经验法则:如果需要在 SDK 中修改你的工程,那么使用这个工作流。这个工作流依赖于一组为每个平台剪裁的底层 shell 脚本,以及一个允许你应用插件的Plugman
工具。然而你也可以使用这个工作流来构建跨平台应用,这样做通常比较难,因为缺少高级工具意味着分开的构建周期和针对每个平台的插件修改。
刚开始时,按照create your first app 指南使用跨平台工作流
来创建app 可能是最容易的。之后如果你需要更多的 SDK 控制,你可以选择切换到平台中心工作流
。
注意:一旦你从基于 CLI 的工作流切换到以指定平台 SDK 和 shell 工具为中心的工作流,你就不能再切换回去了。CLI 维护一组通用跨平台源码,在每一次编译的时候用来覆写指定平台的源码。为了保存你为指定平台资源所作的修改,你得切换到平台中心的shell工具链,这会忽略跨平台的源码,取而代之的是依赖指定平台的源码。
安装 Corodva
Cordova 的安装根据你选择的工作流有所不同。
跨平台工作流。查看 create your first app 指南。
平台中心工作流。
安装完Cordova之后,推荐你针对自己的情况查看Develop for platforms
章节,同时也推荐你查看Privacy Guide
和Security Guide
。
译自 : http://cordova.apache.org/docs/en/latest/guide/overview/index.html
作者:码不停蹄的忧伤
链接:https://www.jianshu.com/p/fe105db25215