Skip to content

Cordova - Overview

Apache Cordova is an open-source framework that enables web developers to build hybrid mobile applications using standard web technologies like HTML5, CSS3, and JavaScript. These applications run inside a native WebView on the device, but can access native device features through Cordova’s plugin architecture.

“Apache Cordova allows you to use standard web technologies … for cross-platform development, avoiding each mobile platform’s native development language. Applications execute within wrappers targeted to each platform, and rely on standards-compliant API bindings to access each device’s capabilities such as sensors, data, and network status.”

The Cordova CLI is a powerful tool used to create new projects, build them for various platforms (like iOS and Android), add plugins, manage platform-specific configurations, and run your applications on devices or emulators.

Cordova applications are essentially web pages running in a native WebView. This WebView is hosted within a native application shell, allowing your web code to be packaged and distributed as a standard mobile app.

Plugins are the bridge between your web code and native device functionalities. Cordova provides a rich set of core plugins to access features like the camera, geolocation, accelerometer, contacts, and more. You can also find many third-party plugins or create your own.

Write your application logic once using web technologies and then deploy it across multiple mobile platforms. Cordova handles the platform-specific native code required to host your web app and expose device APIs.

  • Single Codebase: Develop for multiple platforms (iOS, Android, etc.) using a single HTML, CSS, and JavaScript codebase, reducing development time and effort.
  • Web Developer Skills: Leverages existing web development skills, making it easier for web developers to enter mobile app development.
  • Cost-Effective: Can be more cost-effective than native development, especially for projects targeting multiple platforms.
  • Large Plugin Ecosystem: Access to a wide range of plugins for common native features, and the ability to create custom plugins for specific needs.
  • Faster Prototyping: Quick to set up and see results, making it suitable for rapid prototyping and MVPs (Minimum Viable Products).
  • Performance: While performance has improved significantly, applications with very intensive graphics or complex computations might still perform better as fully native apps.
  • Native Look and Feel: Achieving a truly native look and feel can sometimes require extra effort or UI frameworks designed for hybrid apps (e.g., Ionic Framework).
  • Plugin Dependency: Reliance on plugins means you might encounter issues with plugin quality, maintenance, or compatibility across different OS versions or devices.
  • Access to Latest Native Features: There might be a delay before the newest native OS features are available as Cordova plugins.
  • Debugging: Debugging can sometimes be more complex as it involves both web and native layers.

Despite these limitations, Cordova remains a popular choice for many types of applications, especially content-driven apps, utility apps, and business applications where rapid cross-platform development is a priority.

Apache Cordova is licensed under the Apache License, Version 2.0.