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.
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
Extensible plugin system that bridges JavaScript to native device APIs for camera, GPS, file system, contacts, battery, and more.
Command-line interface for creating, building, testing, and deploying applications to multiple platforms from a single codebase.
Access to native hardware capabilities including camera, geolocation, network information, vibration, media capture, and device info.
Renders applications in a native WebView, enabling web technologies to run as native mobile apps on iOS, Android, and Electron.
Full API for creating custom native plugins in Swift/Objective-C (iOS) and Java/Kotlin (Android) that expose device APIs to JavaScript.
Built-in allowlist mechanism for controlling which URLs and resources the application is permitted to access.
Use Cases
Build iOS and Android apps from a single HTML/CSS/JavaScript codebase, reducing development time and cost.
Combine web application UIs with native device capabilities for apps that need both web flexibility and native hardware access.
Rapidly prototype and deploy enterprise mobile applications leveraging existing web development skills.
Package web apps as Electron desktop applications using the same Cordova plugin model.
Interface with Bluetooth, sensors, and other hardware through community and custom Cordova plugins.
Integrations
Ionic uses Cordova (and Capacitor) as its native runtime, providing UI components on top of the Cordova platform.
PhoneGap was a commercial distribution of Apache Cordova, now retired, but helped establish the Cordova ecosystem.
Cordova plugins and the CLI are published and distributed via npm, the Node.js package registry.
Android platform builds use Gradle for dependency management and compilation.
iOS platform builds require Xcode for compilation, signing, and deployment.
Cordova-Electron platform target allows packaging Cordova apps as desktop Electron applications.