Tuesday, August 11, 2009

Book Review: Using Google App Engine

Using Google App Engine
By Charles Severance
Published by O'Reilly in May 2009
ISBN: 978-0-596-80069-7

Recently I have been working on a project hosted on Google App Engine. Not coming from a Python background, and not knowing a lot about the feature of the Google App Engine, I was keen to find a book on Google App Engine (using Python) that I could use to thread a narrative through the sometimes dry API references available from Google. I bought Using Google App Engine a couple of months ago.

The first thing I noticed about the book was its physical dimensions. At 241 pages using a largish typeface it seems like a small book. You will not break your back bring it home. The book is in black and white and there are a few code listings in each chapter. A few diagrams are in the book as well.

The book is written in a relaxed, approachable style that is very easy to read. It definitely not desktop reference or How-To manual. Rather, across the course of the book the author takes you through the process of a building a new application that lets you log in (and that is about it).

The book starts off with a Chapter on what Google App Engine is and why it exists. Following chapters explain HTTP, HTML, CSS, HTML forms, Python, the Webapp framework templates, cookies and sessions, the datastore, AJAX, Google Application administration and the memory cache. Java on Google App Engine is not covered.

It is a fair comment that most topics get little attention apart from a description, the new changes to the example application and enough about the topic at hand to explain the example . only. Together the amount of knowledge provided by the book represents a very think taster of each of the technologies discussed. You will not find a list of the available tags in the HTML section, for example, any sort of close discussion about the syntax of javascript or for that matter an understanding of most of the services provided in the Google App Engine platform.

The feel of the book is of an extended tutorial. The example, once complete, is of a similiar complexity to the application built in the Google Getting Started tutorial for Python.

This book appears aimed at the developer who needs to get to speed in google app engine and more broadly web applications quickly. At the end of the book the reader will at least have a basic understanding of the topics covered, but to transition this understanding to developing real applications will take a lot of effort.

This book does offer a nice end-to-end description of the technologies involved that make web applications possible.

For myself I most enjoyed the initial chapter on Google App Engine and later chapters on sessions and the use of the Memcache. It is worth mentioning that the author uses what might be a custom sessions library in his example which was to be available on the internet. I could not find it, however. This is something that might be a real problem for a beginning following alone on their own computer and Google App Engine account.

Overall I would judge the book to be a workable extension or supplement to the google getting started tutorial. Developers new to the world of web applications have the most to gain from reading this book, but they will still need a lot of other material to become competent. Experienced web developers will not have much of use of the first half of the book that discusses web technologies, and experienced python web programmers who have already gone through the Google tutorial will perhaps only find the discussion on Sessions interesting.

None of the knowledge or techniques shown in the book are not available online, so in that sense the book is a luxury rather than a necessity.

Let me know if there is anything else about the book you would like to know, and I will do my best to answer.

You can buy Using Google App Engine online at Amazon
, Oreilly or if you are lucky, your local technical bookstore.

(Full disclosure: As an Amazon Associate, I receive payment if you buy this book using the Amazon link above.)

No comments:

Post a Comment