Cordova 架构17 Mar 2025 | 4 分钟阅读 Apache Cordova 提供了一组 API,可用于访问和刺激本机移动操作系统功能,例如相机、存储、加速计、地理位置等。要访问设备的本机功能,可以通过调用 Apache Cordova API 来使用 JavaScript 应用程序对象。下图显示了 Cordova 架构的高级设计 ![]() 基本上,Apache Cordova 在本机应用程序中创建一个单屏幕,该屏幕包含一个 WebView,该 WebView 占据设备屏幕上的可用空间。 Cordova 使用本机应用程序 WebView 来加载应用程序及其相关的 JavaScript 和 CSS 文件。 基本组成部分Cordova 应用程序依赖于通用的 config.xml 文件。 此文件提供有关应用程序的信息,并指定影响其工作的参数。 它遵循 W3C 的打包 Web 应用程序。 默认情况下,此应用程序像一个名为 index.html 的网页一样实现,该网页引用运行该应用程序所需的资源(图像、媒体文件)。 该应用程序作为 Web View 与本机应用程序包装器一起执行,可以将其分发到应用商店。 WebViewWebView 提供 Cordova 应用程序的用户界面,它也可以是更大的混合应用程序中某些平台的组件。 这些应用程序将 WebView 与本机应用程序组件混合在一起。 Web AppWeb App 被定义为应用程序代码所在的中心部分。 它只是使用 HTML、CSS 和 JavaScript 创建的网页。 默认情况下,本地文件(即 index.html)用于引用 CSS、JavaScript、媒体文件以及运行应用程序所需的其他资源。 该应用程序主要在本机应用程序包装器内的 WebView 中执行,这些包装器分发到应用商店。 此容器包含一个关键文件,即 config.xml,该文件负责提供有关应用程序的信息。 Cordova 创建一个应用程序,其中 Web 应用程序在 WebView(即 HTML 渲染引擎)中初始化。 插件插件被定义为 Cordova 生态系统的组成部分,它为 Cordova 和本机组件提供了相互通信的接口。 它还为绑定标准设备 API 提供了一个接口。 它允许您从 JavaScript 调用本机代码。 基本上,Apache Cordova 项目定义了一组称为 Core Plugins 的核心插件。 这些插件提供对应用程序中设备功能的访问,例如相机、电池、联系人等。 通过使用这些插件,开发人员可以轻松地将 JavaScript 代码链接到在后端运行的本机代码。 除了这些核心插件之外,还有一些第三方插件可用,这些插件为并非在所有平台上都可用的功能提供了额外的绑定。 它实际上是如何工作的?当应用程序启动时,首先,Apache Cordova 在应用程序的 WebView 中加载应用程序的默认启动页面(通常为 index.html),并将其控制权传递给 WebView。 WebView 允许用户通过在输入字段中输入数据、单击操作按钮以及在应用程序的 WebView 中查看结果来与应用程序交互。 为了访问移动设备的本机功能(例如音频或相机),Cordova 提供了一个 JavaScript API 包,开发人员可以从其 JavaScript 代码中使用该包。 通过使用特殊的桥接层,对 Cordova JavaScript API 的调用将转换为本机设备 API 调用。 可以从 Apache Cordova 插件访问本机 API。 Cordova 开发工作流程开发 Cordova 时,您可以遵循两种基本路径
命令行界面命令行界面 (CLI) 负责创建新的 Cordova 应用程序并将其部署到各种本机移动平台。 它是一个基于文本的界面,主要在各种软件和操作系统上运行。 我们还可以使用 CLI 来初始化项目代码,您可以使用各种平台的 SDK 来进一步开发该应用程序。 如果要为任何平台添加任何支持或重建项目,则必须需要从支持该平台 SDK 的同一台计算机上运行命令行界面。 基本上,它可以在 PC 上的 附件 下的 命令提示符 下使用。 它还维护一个远程源代码存储库,您可以通过该存储库从不同的机器运行 CLI。 命令行界面包含一些特定的命令,这些命令用于加速移动应用程序的开发、测试以及将应用程序部署到各种移动平台。 它还可以执行命令以使用真实设备和模拟器测试混合移动应用程序。 在使用 CLI 工具之前,您必须安装每个目标移动平台的 SDK。 可以通过将其安装为 npm 包来快速使用这些工具。 CLI 在 Cordova 中扮演什么角色?Apache Cordova 完全依赖于 CLI。 没有 CLI,它无法执行任何单个过程。 基本上,它用于以下情况
下一个主题Cordova PhoneGap |
我们请求您订阅我们的新闻通讯以获取最新更新。