Welcome to the companion web site for Apache Cordova 4 Programming. Here you will find information about the book as well as some resources you can use as you read the book or afterwards.
As Adobe PhoneGap is just a distribution of Apache Cordova, this book is also about Adobe PhoneGap. You’ll find any differences between the two clearly described herein.
The book is written for mobile developers who want to learn about Apache Cordova 4. If you’re brand- new to Cordova, then this book will be just what you need to get started. If you’re experienced with an older version of Cordova, this book can act as a refresher, plus it will show you in detail how to use all of the new stuff that’s in Cordova 4. You should have at least some experience with mobile development to directly benefit from this book. For web developers who want to get into mobile development using Apache Cordova, I’ve included content that shows you how to install and use the native SDKs, but I won’t cover many native-specific topics.
This book started many years ago as a book called PhoneGap Essentials (www.phonegapessentials.com); the book was all about PhoneGap 2.0 and was published right about the time the project name changed to Apache Cordova. The book came in at about 300 pages. The book’s first 150 pages covered the available tools and everything a developer needed to know to configure a development environment, and then create, write, build, and test PhoneGap applications. The second half of the book provided a detailed deep dive into each of the (at the time) PhoneGap APIs. The cool part of this second half was that for each API it included at least one complete, functional sample application that demonstrated each aspect of the API. The framework’s documentation was pretty useful in demonstrating how the API worked overall, but PhoneGap Essentials provided much more thorough examples.
The book went on to become the best-selling book on the topic, and it was used in university courses around the world. According to Amazon.com, people are still purchasing this book today.
With the release of Apache Cordova 3, I reworked the manuscript and published Apache Cordova 3 Programming (www.cordovaprogramming.com). This book also came in at 300 pages but was essentially a rewrite of just the first half of PhoneGap Essentials with only cursory coverage of the Cordova APIs provided. This allowed me to go into much more detail on the tools and development process.
Unfortunately, the book was available only as an ebook, so most readers didn’t even know it existed. This was exacerbated by Amazon’s refusal to link a printed book to an updated version in a different format; I could point people interested in the ebook version of PhoneGap Essentials to the ebook version of Apache Cordova 3 Programming, but I could not do the same for the printed version. The side effect of this was that people continued to buy PhoneGap Essentials even though it covered an older version of the framework.
In order to accommodate those readers who were more interested in the Cordova APIs, I reworked the second half of PhoneGap Essentials into another 300 pages called Apache Cordova API Cookbook (www.cordovacookbook.com). In this book, the complete example applications from PhoneGap Essentials were enhanced and expanded, and all of the book’s content was updated for the newer version of Cordova. I’d not covered some topics as well as I would have liked to in the first book, so this update allowed me to really expand the coverage of some topics and include even more complete sample applications (32, I think it was).
Between Apache Cordova 3 Programming and Apache Cordova API Cookbook, I had written more than 600 pages of coverage of Apache Cordova 3. That’s more than twice the size of the original book and a lot of good information for developers.
With this book, I’ve updated Apache Cordova 3 Programming for Apache Cordova 4, plus included new content on a bunch of topics. In my previous books, I focused primarily on PhoneGap and Apache Cordova; I didn’t cover many third-party tools and left many mobile development topics uncovered as well. For this book, there were a bevy of additional tools available and some hybrid-focused HTML frameworks, so I decided to cover as many of them as I could in the space available to me. Where this book’s predecessor was 300 pages, this one should top out at more than 500 pages, so there’s a lot of really good information here for all types of Cordova developers. When bundled with Apache Cordova API Cookbook, you’ll have more than 800 pages of information about Apache Cordova.
As I've mentioned before, Apache Cordova is a pretty fast moving project. There's a lot of people on the team and because there's multiple parts, separate teams work on each. The end result of this is that each part of Apache Cordova (CLI, Plugman, APIs, platform support) has its own release process. Since they're broken out into separate releases, there's no common version maintained across the whole project.
As you know, the book is called Apache Cordova 4 Programming and the intent was to cover Apache Cordova 4.x and support (as much as possible) the major version that follows as well. When the Apache Cordova team released Apache Cordova 4 in October 2014, it was only the CLI that was numbered with the 4.0 version; the platforms and plugins were all in a 3.x version. Early in 2015, platforms like the Android platform and others were updated to 4.0.
The good news is that for the most part most things interact pretty well regardless of the version, as long as they're close. More good news is that some of the mobile platform components were upgraded to version 4.x right about the time this book came out.
The bad news? The Cordova CLI was updated to version 5.0 about a week after this book was released. So, if you're looking at this book, with 4 in the title, and the Cordova web site and seeing that 5.0 has been released, you may think that this book is obsolete. It's not!
The reason the Cordova team made the leap from Cordova 4 to Cordova 5 was because of some pretty major changes to the CLI. Since Cordova 3 and the CLI was released, the Cordova team has struggled a bit with where to put things. If you remember from the early days of the CLI, plugins were originally published on GitHub and you loaded the plugin using the plugin's GitHub repository name. Very quickly thereafter, the team started instead to have the CLI access plugins by their unique ID (org.apache.cordova.device for example). Next, everything started moving to npmjs.org (Node Package Manager) and they decided to change the CLI version number when they did so.
This changes nothing for Cordova developers for the first 6 months, everything will continue to work the same. Later, after things have stabilized, all plugin IDs will change and everything will be loaded using npm. Look at Everything as Node Modules topic for more information about this change.
I finally found a book that can read, understand and implement. Apache Cordova 4 is a gem. I can unreservedly recommend it.
A sample chapter from the book, Chapter 2: Anatomy of a Cordova Application, was published today. You can access the free chapter on the Inform IT web site.