Building Web Applications on the Shoulders of Google, With Python.
From chapter three on, readers are being taken through the design of BookmarksBin, a bookmark system inspired by sites like del.icio.us. For readers familiar with programming under LAMP or another stack, this requires a bit of an adjustment of thinking: there’s no MySQL, file access is a limited and Python programmers will find that some of their favourite libraries have been modified or are not available. All this is because App Engine applications run in a sandbox that’s necessary to prevent individual applications from affecting the performance of others. Add in factors like the somewhat-undefined maximum execution time, and you can see there are some challenges ahead. Or the ability only to read files that were uploaded as part of the application and there’s a few things to get used to; fortunately, the book points these things out clearly. Programmers familiar with Python might find themselves missing ordinary libraries because of certain restrictions placed on App Engine application. However, some applications like the Django framework are being ported, and App Engine comes with its web framework, web app, that should feel familiar to developers used to other frameworks.
After the design is created, readers learn how to build an application using a web app framework, and the services App Engine provides access to. When Google buys a company it sometimes seems like it takes a while for the service to disappears for months, occasionally never surfacing again is that the application has to be often re-written completely to run in Google’s environment. It’s probably worth keeping this in mind when porting your web application to App Engine. Besides using Python, you have to use the database, file system and other services and even with this book and the on-line documentation this case take some time. GoogleAccounts take the place of a user-management functionality—Memcache for fast storage or the datastore for a database system. There is also “URL fetch” for calling web services. Basic image manipulation (scale, rotate, crop, enhance), and email are provided.
In conclusion, this small volume — only about 160 pages– provides an excellent introduction to App Engine. App Engine is maturing with a host of improvements being announced in just last month, so it looks like Google Apps is here to stay.
The book’s layout is clean, couple of screen-shots, break-out boxes explaining things like: “What is YAML” or pitfalls to watch out for. Since App Engine is still listed as a preview release, I’d expect there to be plenty of changes before it reaches a beta stage, but the book should still give readers an understanding of what App Engine can do for them.