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.
When using the Cordova APIs, an app can be built without any native code (Java, Objective-C, etc) from the app developer. Instead, web technologies are used, and they are hosted in the app itself locally (generally not on a remote http server).
And because these JavaScript APIs are consistent across multiple device platforms and built on web standards, the app should be portable to other device platforms with minimal to no changes.
Apps using Cordova are still packaged as apps using the platform SDKs, and can be made available for installation from each device's app store.
Cordova provides a set of uniform JavaScript libraries that can be invoked, with device-specific native backing code for those JavaScript libraries. Cordova is available for the following platforms: iOS, Android, Blackberry, Windows Phone, Palm WebOS, Bada, and Symbian.
If you want to use Cordova in your mobile application, take a look at our documentation. It includes Getting Started guides, the JavaScript APIs reference and examples, instructions on Upgrading from previous versions of Cordova, how to write your own Cordova plugin, and more. The selector in the top-right corner of the documentation will let you pick different Cordova versions and language translations. And there is a registry of third-party plugins that can be used in your mobile application.
Apache Cordova graduated in October 2012 as a top level project within the Apache Software Foundation (ASF). Through the ASF, future Cordova development will ensure open stewardship of the project. It will always remain free and open source under the Apache License, Version 2.0.
Some additional information may be found on our Apache project page.
The following plugins were updated today:
Notable changes include:
iPhone 6/6+
support for cordova-splashscreen
pluginMobile
to Cellular
for cordova-network-information
plugin.cordova-media-capture
plugingetPreferredLanguage()
and getLocaleName()
for cordova-globalization
plugin.ms-appdata URIs
for cordova-file-transfer
pluginThe plugins have been updated on our registry at plugins.cordova.io.
You can update any plugin by removing it, and then readding it. E.g. To update your camera plugin:
cordova plugin rm org.apache.cordova.camera
cordova plugin add org.apache.cordova.camera
Other changes include:
We are happy to announce that Apache Cordova CLI 4.0
has been released!
We have also released Cordova-Browser 3.6.0
, Cordova-Android 3.6.4
, Cordova-Windows 3.6.4
, and Cordova-WP8 3.6.4
.
Most notable changes include:
4.0.0
to reflect our changes in release policy.--target
flagTo upgrade: (replace android
with the platform you want to update):
npm install -g cordova
cd my_project
cordova platform update android
For non-CLI projects or for pre-3.0 projects, refer to the upgrade guides.
We have recently decided to update our release process to include independent releases for platforms. This means that our platform maintainers can release updates when they need to and not have to wait for other platforms to be ready to release.
Users should expect more frequent releases with bug fixes and new features. Users can always view what versions of platforms they are using in a cordova project with the cordova platform list
command. Users workflow is exactly the same and updating existing projects should not be an issue.
Our docs will be released alongside our CLI.
The CLI is released with a set of default platforms pinned. For instance, this release of Cordova-CLI will include Cordova-Android@3.6.4 pinned by default. This means that when you type cordova platform add android
, it will fetch and install version 3.6.4
into your project. It is also very simple to install a different version of a platform for a project if you wish by specifying the version of the platform when you are adding. Ex. cordova platform add android@3.5.1
. Of course we always recommend using the latest release when possible.
In this release, all of our platforms are still in the 3.6.x range in terms of versions. Expect this to change as we do more releases.
You can read more about our new versioning strategy at https://github.com/apache/cordova-coho/blob/master/docs/versioning-and-release-strategy.md.
We have just released Browser as a platform. Add it to your projects with cordova platform add browser
. This feature is intended for development purposes. We are working on adding browser support to our core plugins. Ray Camden has put together detailed blog post outlining which plugins we currently support at http://www.raymondcamden.com/2014/9/24/Browser-as-a-platform-for-your-PhoneGapCordova-apps.
Please file any issues and feature requests in our issue tracker. Make sure to fill in the component field as browser
.
The following plugins were updated today:
Notable changes include:
The plugins have been updated on our registry at plugins.cordova.io.
You can update any plugin by removing it, and then readding it. E.g. To update your file plugin:
cordova plugin rm org.apache.cordova.file
cordova plugin add org.apache.cordova.file
Other changes include:
Contributors are welcome! And we need your contributions to keep the project moving forward. You can report bugs, improve the documentation, or contribute code.
There is a specific contributor workflow we recommend. Start reading there. More information is available on our wiki.
The JIRA issue tracker and the dev mailing list are good places to identify areas to help out in.
Search the issue tracker:
To share your contributions with the community, you can send a pull request on GitHub to the Apache git mirrors. You can also advocate for your changes directly on our developer mailing list.
In order for your changes to be accepted, you need to sign and submit an Apache ICLA (Individual Contributor License Agreement). Then your name will appear on the list of CLAs signed by non-committers or Cordova committers.
And don't forget to test and document your code.
Each component of Apache Cordova is in a separate git repository:
Platforms
Plugins
Other
Dev mailing list is a place for discussion about developing Apache Cordova.
If you are a Cordova user looking for help, use the cordova tag on Stack Overflow.
Commits mailing list tracks commit logs for Apache Cordova repos.
Issues mailing list tracks comments and updates to Jira items regarding Apache Cordova.
It is recommended that the cordova CLI be installed from npm rather than downloading this .zip version. For more information on installing the npm version see the Command-Line Interface section of the documentation.
You can find our release zips with corresponding OpenPGPkeys, MD5 and SHA files on the Apache Cordova dist page.
Our artwork is also available.
Older versions can be downloaded from the archive.