This is a book about programming cross-platform mobile applications using Apache Cordova 3 (with some coverage of PhoneGap 3 as well). In Apache Cordova 3, the Cordova development team made some dramatic changes in the framework, and this book is what you need to understand what Cordova 3 is all about. The book can be considered as a sequel to my PhoneGap Essentials, updated for Cordova 3.
This is a book about Cordova 3. This book is targeted at mobile developers who want to learn about Cordova 3. If you’re brand new to Cordova, then this book is just what you need to get started. If you’re experienced with an older version of Cordova, this book will show you in detail how to use all of the new stuff that’s in Cordova 3. You will, however, need to have at least some experience with mobile development to benefit from this book. The target audience could be existing web developers who want to get into mobile development, but much of the needed native mobile development background just isn’t in here.
What you’ll find in the book:
• Lots of detailed information about Apache Cordova: what it does and how it works
• Lots of examples and code
What you won’t find in this book:
• Mobile web development and mobile development topics; this book is about Apache Cordova, not mobile development
• Expressions or phrases in languages other than English (I hate it when authors include phrases in Latin or French)
• Obscure references to pop-culture topics (although there is an overt reference to Douglas Adams’s Hitchhiker’s Guide to the Galaxy and one obscure reference to “Monty Python”)
• Pictures of my children or my pets
This book is not a book for experienced Cordova 3 developers—if you consider yourself an experienced Cordova 3 developer, then you probably should not buy this book.
Herein I tried to provide complete coverage of Cordova 3; covering enough detail that readers will leave with a complete understanding of what Cordova is, what it does, how it works, and how to use it for their mobile application projects. There’s a whole lot more to Cordova; many advance topics and more detailed coverage of the Cordova APIs can be found in the Cordova documentation and maybe in some future book I’ll write.
One of the challenges in writing a book about open source projects is that if the project is well staffed and busy, the project gets regular updates. In Cordova’s case, it’s one of the fastest moving open source projects on the planet, so with their monthly updates and yearly major release, it is definitely a moving target.
I’ve worked very hard to structure and craft this book so that it can survive the rapid pace of the project, but only time will tell. You may find that something I’ve written here has changed and the book doesn’t align with reality. There’s nothing I can do about this except to stay on top of it and post updates to the book’s website (described shortly) when I find that something has changed enough that it breaks part of the book.
One of the things you’ll notice as you look at the source code included in the book is that I’ve paid special attention to the formatting of the code so that it can be easily read and understood. Rather than allowing the source code to wrap wherever necessary to fit the printed page, I’ve forced line breaks in the code in order to structure it in a way that should benefit the reader. Because of this, as you copy the source code over into your Cordova applications, you will likely find some extra line breaks that affect the functionality of the code. Sorry.
I’ve created a website for the book at www.cordovaprogramming.com, shown in Figure P1, where I will post updates, errata, and the answers to questions I’ve received from readers.
Additionally, I’ve posted much of the book’s sample code to my GitHub account located at https://github.com/johnwargo. At a minimum, I’ll post all of the complete applications up there—potentially adding code snippets if readers ask for them.
Please feel free to use the contact form on the book’s website to provide feedback and/or suggestions for the next release.
44.200.94.150