Developing apps with Apache Cordova
App Factory
![© Lead Image © venimo, 123RF.com © Lead Image © venimo, 123RF.com](/var/linux_magazin/storage/images/issues/2016/193/cordova/123rf_33354882_phone-app-factory_venimo_resized.png/680785-1-eng-US/123RF_33354882_Phone-App-Factory_venimo_resized.png1_medium.png)
© Lead Image © venimo, 123RF.com
Roll out an app elegantly and quickly for up to eight operating systems using the Cordova framework. According to the Apache Foundation, the only requirements are knowledge of HTML, CSS, and JavaScript.
In early 2009, the small company Nitobi introduced a software tool named PhoneGap. Web developers could use this tool to develop complete apps in HTML, CSS, and JavaScript that simultaneously ran on iPhones, Androids, and BlackBerrys. Only two-and-a-half years later, Adobe took over Nitobi, and PhoneGap along with it. Adobe passed the source code on to the Apache Foundation, which is developing the framework under the name Cordova [1] (see the "Oh, You Beautiful Cordovas" box).
Oh, You Beautiful Cordovas
Cordova is a small town in an idyllic location on the Gulf of Alaska. Geographers will find another place of the same name in central Alabama. Cordova is also the name of a suburb of Memphis, Tennessee. However, it is much more likely that you will know the Spanish city of Córdoba in Andalusia, which is also capital of the Province of Córdoba. In English, Córdoba is usually written as Cordova.
The takeover did not change the basic way the framework functions. As a developer, you can program a complete app in HTML, CSS, and JavaScript in Cordova, which then runs on iOS, Android, BlackBerry 10, Windows, Firefox OS, WebOS, Ubuntu Touch, and even as a normal web application in the browser. Cordova also supports Amazon's FireOS, although this option is considered deprecated.
Practical Testing
The source code is subject to Apache License 2.0. Cordova has already helped launch numerous apps, including fitness app Sworkit [2] and the baby monitoring software Clever Baby [3]. Many other developer tools harness the Cordova framework and development environment, such as Ionic [4] and PhoneGap by Adobe [5]. The company continues to use the original name of the project.
Toolkit
First, Cordova requires the desired target platforms' SDKs for its work. If you want to offer your app on Android devices, you have to install the Android Studio or Android SDK (aka Android command-line tools) in addition to a Java Development Kit (JDK)[6]. In the case of Android, some environment variables should also be set; for example, JAVA_HOME
prompts the JDK installation, ANDROID_HOME
is the directory with the Android SDK, and PATH
should contain the tools
and platform-tools
subdirectories from the Android SDK.
Node in the Bag
A range of command-line tools make it easier to build apps as a Cordova developer. These tools are based in turn on Node.js [7], which is found in most distros' repositories. Cordova expects the framework under the program name node
, although Ubuntu calls the program nodejs
. To remedy this, additionally install the nodejs-legacy
package, which adds a matching symlink to nodejs
.
The npm
command, which is the Node.js package manager installs Cordova with a simple:
sudo npm install -g cordova
A short moment later, you can create a first small sample application.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
![Learn More](https://www.linux-magazine.com/var/linux_magazin/storage/images/media/linux-magazine-eng-us/images/misc/learn-more/834592-1-eng-US/Learn-More_medium.png)
News
-
NVIDIA Released Driver for Upcoming NVIDIA 560 GPU for Linux
Not only has NVIDIA released the driver for its upcoming CPU series, it's the first release that defaults to using open-source GPU kernel modules.
-
OpenMandriva Lx 24.07 Released
If you’re into rolling release Linux distributions, OpenMandriva ROME has a new snapshot with a new kernel.
-
Kernel 6.10 Available for General Usage
Linus Torvalds has released the 6.10 kernel and it includes significant performance increases for Intel Core hybrid systems and more.
-
TUXEDO Computers Releases InfinityBook Pro 14 Gen9 Laptop
Sporting either AMD or Intel CPUs, the TUXEDO InfinityBook Pro 14 is an extremely compact, lightweight, sturdy powerhouse.
-
Google Extends Support for Linux Kernels Used for Android
Because the LTS Linux kernel releases are so important to Android, Google has decided to extend the support period beyond that offered by the kernel development team.
-
Linux Mint 22 Stable Delayed
If you're anxious about getting your hands on the stable release of Linux Mint 22, it looks as if you're going to have to wait a bit longer.
-
Nitrux 3.5.1 Available for Install
The latest version of the immutable, systemd-free distribution includes an updated kernel and NVIDIA driver.
-
Debian 12.6 Released with Plenty of Bug Fixes and Updates
The sixth update to Debian "Bookworm" is all about security mitigations and making adjustments for some "serious problems."
-
Canonical Offers 12-Year LTS for Open Source Docker Images
Canonical is expanding its LTS offering to reach beyond the DEB packages with a new distro-less Docker image.
-
Plasma Desktop 6.1 Released with Several Enhancements
If you're a fan of Plasma Desktop, you should be excited about this new point release.