Apache Cordova is a suite of smaller sub projects that tackles specific problem spaces. Currently Apache Cordova encompasses the following:
- Apple iOS
- Apple Mac OSX (for desktop applications)
- Google Android
RIM BlackBerry Webworks
- Windows Phone 7 and 8
- Windows 8 (for desktop applications)
- Samsung Bada
- HP webOS
In addition to operating system platforms there are satellite projects orbiting Apache Cordova:
- Documentation (Hand authored markdown.)
- Mobile Spec (A test suite written in qunit that exercises the official device api.)
- weinre (Web Inspector Remote for any operating system.)
The decision to split into discreet repositories for this code was deliberate. The effort involved in setting up a development environment and the devices required for testing all of these platforms is extensive. In addition to this hurdle, merging changes and rebasing project code for platforms an author may not be familiar with is risky. For these reasons we separated the code into atomic repositories and treat releases as the time to unify the codebases.
Project Structure
Each platform implementation of Cordova consists of:
- a set of native modules enabling various bits of the Cordova API - this is different for each platform implementation
- a cordova.js file that is generated from the cordova-js project
- a folder (usually named "www") that contains web technology-based assets making up your application