Apache Cordova logo

Apache Cordova

Apache Cordova is an open-source mobile development framework governed by the Apache Software Foundation that enables developers to build mobile applications using standard web technologies — HTML, CSS, and JavaScript. It bridges web code to native device capabilities through a plugin architecture, targeting iOS, Android, Electron, and Browser platforms from a single codebase.

1 APIs 6 Features
ApacheCross-PlatformHybrid AppsJavaScriptMobileOpen SourcePlugins

APIs

Apache Cordova

Apache Cordova provides a JavaScript plugin API for accessing native device capabilities (camera, GPS, file system, contacts, etc.), a CLI for project management and multi-platf...

Features

Plugin Architecture

Extensible plugin system that bridges JavaScript to native device APIs for camera, GPS, file system, contacts, battery, and more.

Cross-Platform CLI

Command-line interface for creating, building, testing, and deploying applications to multiple platforms from a single codebase.

Native Device Access

Access to native hardware capabilities including camera, geolocation, network information, vibration, media capture, and device info.

WebView-Based Runtime

Renders applications in a native WebView, enabling web technologies to run as native mobile apps on iOS, Android, and Electron.

Plugin Development API

Full API for creating custom native plugins in Swift/Objective-C (iOS) and Java/Kotlin (Android) that expose device APIs to JavaScript.

Allowlist Security

Built-in allowlist mechanism for controlling which URLs and resources the application is permitted to access.

Use Cases

Cross-Platform Mobile Apps

Build iOS and Android apps from a single HTML/CSS/JavaScript codebase, reducing development time and cost.

Hybrid App Development

Combine web application UIs with native device capabilities for apps that need both web flexibility and native hardware access.

Enterprise Mobile Solutions

Rapidly prototype and deploy enterprise mobile applications leveraging existing web development skills.

Desktop Apps via Electron

Package web apps as Electron desktop applications using the same Cordova plugin model.

IoT and Device Interfaces

Interface with Bluetooth, sensors, and other hardware through community and custom Cordova plugins.

Integrations

Ionic Framework

Ionic uses Cordova (and Capacitor) as its native runtime, providing UI components on top of the Cordova platform.

Adobe PhoneGap

PhoneGap was a commercial distribution of Apache Cordova, now retired, but helped establish the Cordova ecosystem.

npm Package Registry

Cordova plugins and the CLI are published and distributed via npm, the Node.js package registry.

Gradle (Android)

Android platform builds use Gradle for dependency management and compilation.

Xcode (iOS)

iOS platform builds require Xcode for compilation, signing, and deployment.

Electron

Cordova-Electron platform target allows packaging Cordova apps as desktop Electron applications.

Semantic Vocabularies

Apache Cordova Camera Context

1 classes · 11 properties

JSON-LD

Apache Cordova Config Context

5 classes · 11 properties

JSON-LD

Apache Cordova Geolocation Context

1 classes · 9 properties

JSON-LD

Resources

🌐
Portal
Portal
📰
Blog
Blog
📄
ReleaseNotes
ReleaseNotes
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
💬
Support
Support
👥
StackOverflow
StackOverflow
👥
GitHubOrganization
GitHubOrganization
🔗
CLI
CLI
🔧
Plugman Plugin Manager
Tools
🔧
Paramedic Test Runner
Tools
🔗
Vocabulary
Vocabulary

Sources

apis.yml Raw ↑
aid: apache-cordova
name: Apache Cordova
description: >-
  Apache Cordova is an open-source mobile development framework governed by the Apache Software Foundation that enables developers to build mobile applications using standard web technologies — HTML, CSS,
  and JavaScript. It bridges web code to native device capabilities through a plugin architecture, targeting iOS, Android, Electron, and Browser platforms from a single codebase.
type: Index
position: Consumer
access: 3rd-Party
image: https://kinlane-productions2.s3.amazonaws.com/apis-json/apis-json-logo.jpg
tags:
- Apache
- Cross-Platform
- Hybrid Apps
- JavaScript
- Mobile
- Open Source
- Plugins
created: '2026-03-16'
modified: '2026-04-19'
url: >-
  https://raw.githubusercontent.com/api-evangelist/apache-cordova/refs/heads/main/apis.yml
specificationVersion: '0.19'
apis:
- aid: apache-cordova:apache-cordova
  name: Apache Cordova
  description: >-
    Apache Cordova provides a JavaScript plugin API for accessing native device capabilities (camera, GPS, file system, contacts, etc.), a CLI for project management and multi-platform builds, a plugin
    development API for creating native bridges, and platform-specific runtimes for iOS, Android, and Electron.
  humanURL: https://cordova.apache.org/docs/en/latest/
  tags:
  - Android
  - CLI
  - Electron
  - iOS
  - JavaScript
  - Mobile
  - Plugins
  properties:
  - type: Documentation
    url: https://cordova.apache.org/docs/en/latest/
  - type: GettingStarted
    url: https://cordova.apache.org/docs/en/latest/guide/overview/
  - type: APIReference
    url: https://cordova.apache.org/docs/en/latest/config_ref/
  - type: CLI
    url: https://github.com/apache/cordova-cli
  - type: SDK
    url: https://www.npmjs.com/package/cordova
    title: npm Package
  - type: GitHubRepository
    url: https://github.com/apache/cordova
  - type: GitHubOrganization
    url: https://github.com/apache
  - type: SDK
    url: https://www.npmjs.com/package/cordova-android
    title: Android Platform
  - type: SDK
    url: https://www.npmjs.com/package/cordova-ios
    title: iOS Platform
  - type: SDK
    url: https://www.npmjs.com/package/cordova-electron
    title: Electron Platform
  - type: SDK
    url: https://www.npmjs.com/package/cordova-browser
    title: Browser Platform
  - type: SDK
    url: https://github.com/apache/cordova-js
    title: JavaScript Bridge
  - type: SDK
    url: https://www.npmjs.com/package/cordova-plugin-camera
    title: Camera Plugin
  - type: SDK
    url: https://www.npmjs.com/package/cordova-plugin-file
    title: File Plugin
  - type: SDK
    url: https://www.npmjs.com/package/cordova-plugin-geolocation
    title: Geolocation Plugin
  - type: SDK
    url: https://www.npmjs.com/package/cordova-plugin-inappbrowser
    title: InAppBrowser Plugin
  - type: SDK
    url: https://www.npmjs.com/package/cordova-plugin-media
    title: Media Plugin
  - type: SDK
    url: https://www.npmjs.com/package/cordova-plugin-media-capture
    title: Media Capture Plugin
  - type: SDK
    url: https://www.npmjs.com/package/cordova-plugin-dialogs
    title: Dialogs Plugin
  - type: SDK
    url: https://www.npmjs.com/package/cordova-plugin-device
    title: Device Plugin
  - type: SDK
    url: https://www.npmjs.com/package/cordova-plugin-network-information
    title: Network Information Plugin
  - type: SDK
    url: https://www.npmjs.com/package/cordova-plugin-vibration
    title: Vibration Plugin
  - type: SDK
    url: https://www.npmjs.com/package/cordova-plugin-battery-status
    title: Battery Status Plugin
  - type: SDK
    url: https://www.npmjs.com/package/cordova-plugin-screen-orientation
    title: Screen Orientation Plugin
  - type: SDK
    url: https://www.npmjs.com/package/cordova-plugin-statusbar
    title: Statusbar Plugin
  - type: SDK
    url: https://www.npmjs.com/package/cordova-plugin-device-motion
    title: Device Motion Plugin
  - type: SDK
    url: https://www.npmjs.com/package/cordova-plugin-device-orientation
    title: Device Orientation Plugin
  - type: SDK
    url: https://www.npmjs.com/package/cordova-plugin-file-transfer
    title: File Transfer Plugin
  - type: Tools
    url: https://github.com/apache/cordova-plugman
    title: Plugman Plugin Manager
  - type: CodeExamples
    url: https://github.com/apache/cordova-app-hello-world
    title: Hello World Template
  - type: CodeExamples
    url: https://github.com/apache/cordova-mobile-spec
    title: Mobile Spec Test Suite
  - type: JSONSchema
    url: https://raw.githubusercontent.com/api-evangelist/apache-cordova/refs/heads/main/json-schema/apache-cordova-camera-options-schema.json
    title: Camera Options
  - type: JSONSchema
    url: https://raw.githubusercontent.com/api-evangelist/apache-cordova/refs/heads/main/json-schema/apache-cordova-config-widget-schema.json
    title: Config Widget
  - type: JSONSchema
    url: https://raw.githubusercontent.com/api-evangelist/apache-cordova/refs/heads/main/json-schema/apache-cordova-geolocation-position-schema.json
    title: Geolocation Position
  - type: JSONStructure
    url: https://raw.githubusercontent.com/api-evangelist/apache-cordova/refs/heads/main/json-structure/apache-cordova-camera-options-structure.json
  - type: JSONStructure
    url: https://raw.githubusercontent.com/api-evangelist/apache-cordova/refs/heads/main/json-structure/apache-cordova-config-widget-structure.json
  - type: JSONStructure
    url: https://raw.githubusercontent.com/api-evangelist/apache-cordova/refs/heads/main/json-structure/apache-cordova-geolocation-position-structure.json
  - type: JSONLD
    url: https://raw.githubusercontent.com/api-evangelist/apache-cordova/refs/heads/main/json-ld/apache-cordova-camera-context.jsonld
  - type: JSONLD
    url: https://raw.githubusercontent.com/api-evangelist/apache-cordova/refs/heads/main/json-ld/apache-cordova-config-context.jsonld
  - type: JSONLD
    url: https://raw.githubusercontent.com/api-evangelist/apache-cordova/refs/heads/main/json-ld/apache-cordova-geolocation-context.jsonld
  - type: Example
    url: https://raw.githubusercontent.com/api-evangelist/apache-cordova/refs/heads/main/examples/apache-cordova-camera-options-example.json
  - type: Example
    url: https://raw.githubusercontent.com/api-evangelist/apache-cordova/refs/heads/main/examples/apache-cordova-config-widget-example.json
  - type: Example
    url: https://raw.githubusercontent.com/api-evangelist/apache-cordova/refs/heads/main/examples/apache-cordova-geolocation-position-example.json
maintainers:
- FN: Kin Lane
  email: [email protected]
common:
- type: Portal
  url: https://cordova.apache.org/
- type: Blog
  url: https://cordova.apache.org/blog/
- type: ReleaseNotes
  url: https://cordova.apache.org/blog/
- type: Documentation
  url: https://cordova.apache.org/docs/en/latest/
- type: GettingStarted
  url: https://cordova.apache.org/docs/en/latest/guide/overview/
- type: Support
  url: https://cordova.apache.org/contact/
- type: StackOverflow
  url: https://stackoverflow.com/questions/tagged/cordova
- type: GitHubOrganization
  url: https://github.com/apache
- type: Features
  data:
  - name: Plugin Architecture
    description: Extensible plugin system that bridges JavaScript to native device APIs for camera, GPS, file system, contacts, battery, and more.
  - name: Cross-Platform CLI
    description: Command-line interface for creating, building, testing, and deploying applications to multiple platforms from a single codebase.
  - name: Native Device Access
    description: Access to native hardware capabilities including camera, geolocation, network information, vibration, media capture, and device info.
  - name: WebView-Based Runtime
    description: Renders applications in a native WebView, enabling web technologies to run as native mobile apps on iOS, Android, and Electron.
  - name: Plugin Development API
    description: Full API for creating custom native plugins in Swift/Objective-C (iOS) and Java/Kotlin (Android) that expose device APIs to JavaScript.
  - name: Allowlist Security
    description: Built-in allowlist mechanism for controlling which URLs and resources the application is permitted to access.
- type: UseCases
  data:
  - name: Cross-Platform Mobile Apps
    description: Build iOS and Android apps from a single HTML/CSS/JavaScript codebase, reducing development time and cost.
  - name: Hybrid App Development
    description: Combine web application UIs with native device capabilities for apps that need both web flexibility and native hardware access.
  - name: Enterprise Mobile Solutions
    description: Rapidly prototype and deploy enterprise mobile applications leveraging existing web development skills.
  - name: Desktop Apps via Electron
    description: Package web apps as Electron desktop applications using the same Cordova plugin model.
  - name: IoT and Device Interfaces
    description: Interface with Bluetooth, sensors, and other hardware through community and custom Cordova plugins.
- type: Integrations
  data:
  - name: Ionic Framework
    description: Ionic uses Cordova (and Capacitor) as its native runtime, providing UI components on top of the Cordova platform.
  - name: Adobe PhoneGap
    description: PhoneGap was a commercial distribution of Apache Cordova, now retired, but helped establish the Cordova ecosystem.
  - name: npm Package Registry
    description: Cordova plugins and the CLI are published and distributed via npm, the Node.js package registry.
  - name: Gradle (Android)
    description: Android platform builds use Gradle for dependency management and compilation.
  - name: Xcode (iOS)
    description: iOS platform builds require Xcode for compilation, signing, and deployment.
  - name: Electron
    description: Cordova-Electron platform target allows packaging Cordova apps as desktop Electron applications.
- type: CLI
  url: https://github.com/apache/cordova-cli
- type: Tools
  url: https://github.com/apache/cordova-plugman
  title: Plugman Plugin Manager
- type: Tools
  url: https://github.com/apache/cordova-paramedic
  title: Paramedic Test Runner
- type: Vocabulary
  url: https://raw.githubusercontent.com/api-evangelist/apache-cordova/refs/heads/main/vocabulary/apache-cordova-vocabulary.yaml