Download Cordova and Master the Cordova Command-Line Interface
How to Download and Use Cordova
What is Cordova?
Why use Cordova?
Some of the benefits and use cases of Cordova are:
It allows you to reuse your existing web skills and code base.
It saves you time and money by reducing the need for separate development teams for each platform.
It gives you access to native device features such as camera, geolocation, file system, etc.
It supports offline scenarios and progressive web apps.
It has a large community and ecosystem of plugins and tools.
What are the prerequisites?
To use Cordova, you need to have:
How to download and install Apache Cordova
Download Cordova for iOS and Android platforms
Cordova app development tutorial for beginners
Cordova create command reference documentation
Cordova project directory structure and templates
Cordova platform support and compatibility table
Cordova platform add and remove commands
Cordova run and build commands for different platforms
Cordova plugins installation and usage guide
Cordova config.xml and package.json files explanation
Cordova hooks and events overview and examples
Cordova command-line interface (CLI) options and flags
Cordova platform pinning and version management
Cordova webview settings and preferences
Cordova splash screen and icon customization
Cordova debugging and testing tools and tips
Cordova security best practices and recommendations
Cordova offline scenarios and network information
Cordova native device APIs access and integration
Cordova cross-platform code reuse and optimization
Cordova vs PhoneGap vs Ionic comparison and review
Cordova app performance improvement and enhancement
Cordova app distribution and deployment methods
Cordova app monetization and advertising strategies
Cordova app analytics and user feedback collection
Download Node.js for installing Cordova CLI
Download git client for downloading assets in Cordova
Download Android Studio for developing Android apps with Cordova
Download Xcode for developing iOS apps with Cordova
Download Visual Studio Code for editing Cordova code
Download Chrome DevTools for debugging Cordova apps on browser
Download Safari Web Inspector for debugging Cordova apps on iOS devices
Download Android Device Monitor for debugging Cordova apps on Android devices
Download Apache Ripple Emulator for simulating Cordova apps on browser
Download PhoneGap Desktop App for creating and running PhoneGap projects with Cordova CLI
Download Ionic Framework for building hybrid mobile apps with Cordova plugins
Download Framework7 for creating iOS and Android apps with native look and feel using Cordova
Download Onsen UI for developing cross-platform HTML5 hybrid apps with Cordova integration
Download jQuery Mobile for creating responsive web apps with touch optimization using Cordova
Download Bootstrap for designing mobile-first web pages with CSS, JS, and icons using Cordova
Download AngularJS for creating dynamic web applications with MVC architecture using Cordova
Download Vue.js for creating user interfaces with progressive framework using Cordova
Download Firebase for adding backend services and cloud functions to your Cordova app
Download Pushwoosh for implementing push notifications in your Cordova app
Download AdMob Pro for displaying Google ads in your Cordova app
Download InAppBrowser for opening external links in your Cordova app
Download Camera for capturing photos and videos in your Cordova app
A computer with Windows, Mac OS, or Linux operating system.
A text editor or an IDE of your choice.
A web browser for testing your app.
An Android or iOS device or emulator for running your app.
A Node.js and npm installation for managing Cordova and its dependencies.
How to install Node.js and npm?
Go to the official Node.js website and download the installer for your operating system.
Run the installer and follow the instructions to complete the installation.
Open a terminal or a command prompt and type node -v and npm -v to verify that Node.js and npm are installed correctly. You should see the version numbers of both tools.
How to install Cordova CLI?
Cordova CLI (command-line interface) is a tool that allows you to create, build, run, and manage Cordova projects from the terminal or the command prompt. To install Cordova CLI, follow these steps:
Open a terminal or a command prompt and type npm install -g cordova to install Cordova CLI globally on your system. This may take a few minutes depending on your internet speed.
Type cordova -v to verify that Cordova CLI is installed correctly. You should see the version number of the tool.
Creating a project
How to create a blank Cordova project?
Navigate to the folder where you want to create your project using the terminal or the command prompt.
Type cordova create hello com.example.hello HelloWorld to generate a project with the name hello, the ID com.example.hello, and the display name HelloWorld. You can change these values according to your preference.
Type cd hello to enter the project directory.
Type ls or dir to see the files and folders of your project. You should see something like this:
. config.xml hooks node_modules package.json platforms plugins www css index.css img logo.png index.html js index.js cordova.js
The most important files and folders are:
config.xml: This is the configuration file of your app, where you can specify information such as app name, ID, version, description, author, icons, splash screens, preferences, plugins, etc.
hooks: This is a folder where you can place scripts that will be executed at different stages of your app lifecycle, such as before or after building, running, or preparing your app.
node_modules: This is a folder where npm installs the modules and dependencies of your project.
package.json: This is the package file of your project, where you can specify information such as name, version, description, author, dependencies, scripts, etc.
platforms: This is a folder where Cordova adds the platform-specific files and folders of your app, such as Android or iOS.
plugins: This is a folder where Cordova adds the plugins that you install for your app.
How to add platforms to your project?
A platform is a target device or operating system where you want to run your app, such as Android or iOS. To add platforms to your project, follow these steps:
Make sure you have the platform-specific requirements and tools installed on your system. For example, for Android, you need to have Java Development Kit (JDK), Android Studio, Android SDK, and Gradle. For iOS, you need to have Xcode, iOS SDK, and a Mac computer.
Type cordova platform add android to add the Android platform to your project. You should see a message that says Adding android project... and some output that shows the progress of the installation.
Type cordova platform add ios to add the iOS platform to your project. You should see a similar message and output as before.
Type cordova platform ls to list the platforms that you have added to your project. You should see something like this:
Installed platforms: android 9.0.0 ios 6.1.0 Available platforms: browser ^6.0.0 electron ^1.0.0 osx ^6.0.0 windows ^7.0.0
You can also add other platforms such as browser, electron, osx, or windows if you want.
How to run your app on different platforms?
To run your app on different platforms, follow these steps:
Type cordova run android to launch your app on an Android emulator or a connected device. You should see a message that says BUILD SUCCESSFUL and some output that shows the progress of the deployment.
Type cordova run ios to launch your app on an iOS simulator or a connected device. You should see a similar message and output as before.
You can also use the --emulator or --device flags to specify whether you want to run your app on an emulator or a device. For example, cordova run android --emulator or cordova run ios --device.
You can also use the --target flag to specify which emulator or device you want to use. For example, cordova run android --target="Pixel_3a_API_30_x86" or cordova run ios --target="iPhone-12".
You should see your app running on the chosen platform with a default interface that looks something like this:
You can interact with your app using the emulator or device controls.
What are Cordova plugins?
How to find and install plugins?
To find and install plugins for your app, follow these steps:
Browse the official Cordova plugin registry, where you can search and view the details of hundreds of plugins available for Cordova.
Select a plugin that you want to use in your app and copy its name or ID.
Type cordova plugin add plugin-name-or-id to install the plugin in your project. For example, cordova plugin add cordova-plugin-camera.
You should see a message that says Installing plugin-name-or-id for platform-name... and some output that shows the progress of the installation.
Type cordova plugin ls to list the plugins that you have installed in your project. You should see something like this: cordova-plugin-camera 5.0.1 "Camera" cordova-plugin-whitelist 1.3.4 "Whitelist"
You can also install plugins from GitHub repositories or local directories by using their URLs or paths instead of their names or IDs. For example, cordova plugin add https://github.com/apache/cordova-plugin-camera.git or cordova plugin add ../my-plugin.
How to use plugins in your app?
To use plugins in your app, follow these steps:
Edit the files in the www folder of your project and add the code that calls the plugin API. For example, you can open the index.js file and add the following code to take a picture using the camera plugin:
// Wait for device API libraries to load document.addEventListener("deviceready", onDeviceReady, false); // Device APIs are available function onDeviceReady() // Take a picture using the camera navigator.camera.getPicture(onSuccess, onFail, quality: 50, destinationType: Camera.DestinationType.FILE_URI ); // Called when a photo is successfully retrieved function onSuccess(imageURI) // Show the image on the screen var image = document.getElementById('myImage'); image.src = imageURI; // Called if something bad happens function onFail(message) // Show an error message alert('Failed because: ' + message);
You can also edit the index.html file and add an element to display the image:
<img id="myImage" src="" alt="My photo">
Save your changes and run your app on the desired platform using the cordova run command. For example, cordova run android.
You should see your app running on the chosen platform with a button that says Capture Photo. When you tap on it, it will open the camera app and let you take a picture. When you accept the picture, it will show it on the screen.
In this tutorial, you have learned how to download, install, and use Cordova to create a cross-platform mobile app using web technologies. You have also learned how to add platforms and plugins to your project and how to run your app on different devices. You have created a simple app that uses the camera plugin to take and display a picture.
What is the difference between Cordova and PhoneGap?
Cordova and PhoneGap are both platforms that enable you to build mobile apps using web technologies. However, they have different origins and relationships. Cordova was originally created by a company called Nitobi, which was acquired by Adobe in 2011. Adobe then donated Cordova to the Apache Software Foundation, where it became an open source project. PhoneGap is Adobe's distribution of Cordova, which includes some additional features and services such as PhoneGap Build, PhoneGap Desktop, PhoneGap CLI, etc. PhoneGap is compatible with Cordova plugins and tools, but it may have different versions and release cycles.
What is the difference between Cordova and React Native?
How can I debug my Cordova app?
There are several tools and methods that you can use to debug your Cordova app on different platforms. Some of the most common ones are:
Using the Cordova CLI: You can use the cordova serve command to run a local web server that hosts your app files. You can then access your app from any browser on your network and debug it using the browser developer tools.
Using the Visual Studio Code: You can use the Visual Studio Code editor and its extensions such as Cordova Tools or Debugger for Chrome to debug your app on Android or iOS devices or emulators. You can edit, run, and debug your app from within the editor, using its features such as IntelliSense, code completion, syntax highlighting, etc.
How can I customize my app icons and splash screens?
To customize your app icons and splash screens, you have two options:
Using the cordova-res tool: This is a command-line tool that automatically generates and copies icons and splash screens for all platforms based on a single source image. You can install it using npm install -g cordova-res and use it by typing cordova-res in your project directory. You need to have an icon.png file and a splash.png file in your resources folder.
Manually editing the config.xml file: This is a more manual and flexible way of customizing your app icons and splash screens. You can edit the <icon> and <splash> tags in your config.xml file and specify the paths and sizes of your images for each platform. You need to have different images for different resolutions and densities in your res folder.
How can I publish my Cordova app to the app stores?
To publish your Cordova app to the Google Play Store or the Apple App Store, you need to follow these steps:
Build your app for the desired platform using the cordova build command. For example, cordova build android --release or <code