Apache Cordova is a set of device APIs that allow a mobile app developer to access native device function such as the camera or accelerometer from JavaScript. Combined with a UI framework such as jQuery Mobile or Dojo Mobile or Sencha Touch, this allows a smartphone app to be developed with just HTML, CSS, and JavaScript.

Background

In 2011, Adobe Systems acquired privately held organisation Nitobi Software, the creator of PhoneGap and PhoneGap Build. Adobe donated the PhoneGap source code to the Apache Software Foundation(ASF) and started the project as Apache Cordova.

About

Apache Cordova is an open-source mobile application development framework that enables developers to use standard web technologies like HTML5, CSS, and JavaScript to make cross-platform applications. It bridges the gap between the web and mobile platforms and lets you build a mobile application without the native programming language.

Apache Cordova applications are referenced as Web Apps which embeds the HTML5, CSS, JavaScript and other media files inside the WebView of the device. Apps executed within this native application wrapper (WebView) are targeted to each platform, thus making cross-platform applications which are finally distributed to the stores.

Terminology:
  1. WebView: A WebView is basically the browser window of the device. Cordova embeds HTML5 code inside this WebView and relies on the API bindings that interact with the device capabilities like camera, contacts, notifications, network, accelerometer etc.
  2. Plugins: A plugin is a package of code which establishes the communication of the app within the WebView and the native platform. Plugins contain the JavaScript interface and native code libraries for every platform which provides access to device and platform functionality that is ordinarily unavailable to web-based apps.

The core of Apache Cordova uses JavaScript as their application logic. However, other frameworks like JQuery Mobile, Ionic, AngularJS, JQuery etc. can be bundled together to create attractive and progressive mobile applications.

Useful Links

  1. Documentation
  2. Plugin registry
  3. PhoneGap build
  4. Cordova CLI
history | excerpt history