What is Apache Cordova?

  • It allows software programmer to build Apps for mobile devices (Android, iOS, Windows, Ubuntu OS etc) with HTML, CSS and Javascript.
  • Most important thing is - It is open source.

This means, with good coding skills in HTML, CSS and Javascript, one can build an App for most of the mobile operating systems with help of Cordova, without learning different new programming languages for various platforms.

Introduction to Cordova

Following are the platforms for which one can develop apps using Cordova:

  • Android
  • iOS
  • Windows
  • Blackberry
  • Firefox OS
  • Symbian
  • Tizen
  • Web OS
  • Ubuntu

Architecture of Cordova

Cordova provides us with APIs which can be used to access and stimulate native Mobile OS features like Geolocation, Accelerometer, Camera, Storage, Notifications etc.

Architecture of Corodova

Web App is nothing but a simple webpage created using HTML, and styled using CSS along with Javascript, jQuery etc for User Interface.

Cordova, lets us create an App, in which our Web App is initialised in a WebView (HTML Rendering Engine).

Cordova Plugins are components that can be used to utilise the native OS features.


Advantages of Apache Cordova

Following are some of the major advantages to develop applications using Apache Cordova:

  • If you go for native apps, then you will have to learn different languages for different operating systems. For Example: Java for Android, Objective C or Swift for iOS, .NET for Windows and so on. But with Apache Cordova, you can build app for multiple platforms in one go, without learning new programming languages.
  • Development is fast, as one application developed in HTML, CSS and Javascript can be easily transformed into apps supported by other platforms.
  • Best suited for early stage Startups, as product can be launched on multiple platforms at once. And maintaining the app is super easy.
  • It's very quick to prototype.
  • As designing involves CSS, hence it becomes easier to produce great design easily, without the trouble of native UI design for iOS, Android etc.

Lets's start learning :)