Publisher: O'Reilly, 2nd Ed
Aimed at: Experienced web designers
Pros: Hands-on approach
Cons: Lacks explanations
Reviewed by: Harry Fairhead
A novel approach that avoids learning Java and the Android SDK. Is it workable?
Publicity for the 2nd edition of the book claims it has been updated for HTLM5 - which is misleading in that the original edition covered HTML5. The changes that have been made to the text add specific details at points in the book - either to bring it up to date or to make its instructions more comprehensive. There are also update screenshots from the Android emulator, which are allocated even more space in this edition, in some cases an entire page. Overall, however, this edition is slightly slimmer than its predecessor and one reason for this is that it no longer has an index. The detailed table of contents partly makes up for this omission.
Chapter 1 goes over the fairly obvious advantages and disadvantages of this approach. A native app can get at the special hardware in Android and it can be sold in the app store. A web app can't use the hardware, can't be sold in the app store but it is much easier to create. From here we have some chapters on styling a web page with the Webkit browser in mind. This is all useful and it even goes as far as showing how to use jQuery to add behaviors.
Essentially, however, the only really new information that you are being provided with are the specifics of the Webkit browser, but these are unfortunately buried under pages of examples. As the author says:
Theory is great but I'm a "show me, don't tell me" kinda guy.
Chapter 4 deals with animation using jQTouch. This is a little better because if you haven't used jQTouch all of the material is new. Chapter 5 then goes on to introduce client side data storage using the standard HTML5 local storage and web SQL. Chapter 6 does the same for the HTML offline cache. All of this material is fairly standard and would apply to any web page - but then this is the point of using the web approach to creating an Android application.
This is more Android-specific than any of the previous material and the technical level suddenly shoots up. There is very little idea of how far you can go with PhoneGap and apart from making the phone buzz, using the accelerometer and using some geolocation facilities, you are left to figure the rest out for yourself. These last two chapters are now longer and have been taken more slowly and with more detail than in the original edition. Even so it is still too short and leave the reader wanting more.
Getting started with PhoneGap