Creating an application
Now, let's create our first application. Let's name it Travelly
. It will be just a PhoneGap application scaffolding, and we will continue to develop it in the next chapter. So, to create an application, let's run the following command:
$ cordova create travelly com.cybind.travelly Travelly
We need to wait until this command is executed. The Cordova CLI refers to the external storage to extract all the files needed for the project:
- The first argument,
travelly
, is the folder where our project was generated. - The second argument,
com.cybind.travelly
, provides our project with a reverse domain-style identifier. It is an optional argument, if we omit the third argument as well. We can edit this value later inconfig.xml
. However, let's make it right from the beginning so that it is properly configured in the generated code as well. If we do not specify the identifier, it will be defaulted toio.cordova.hellocordova
, which we do not want. - The third argument,
Travelly
, provides the application's display title. It is an optional parameter, and the default value isHelloCordova
.
Once the command execution is completed, a folder will appear with the following content:
$ ls config.xml hooks/ platforms/ plugins/ www/
Where:
config.xml
: This is the configuration file that contains important metadata needed to generate and distribute the application.hooks/
: This is the folder for hooks and pieces of code that Cordova CLI executes at certain points in our Cordova application build.platforms/
: This directory is for native code for each of the supported platforms. By default, this is empty, and we need to add the required platforms, which we will see later.plugins/
: In this directory, we will place the plugins that provide extra support to the interface with each of the native platforms.www/
: This directory houses our application's home page, along with various resources undercss
,js
, andimg
, which follow common web development file-naming conventions. This gets copied into each of the platform-specific projects in platforms' folder whenever a build is performed. So, this is where our core development will happen and all our cross-platform code will live in.
You can see that all these folders are empty or contain just a basic set of files. The config.xml
file contains minimum information. The folder will get full, and config.xml
will grow as we continue our development. So, get ready.