Developing with Google App Engine

Building web applications on the shoulders of Google, with Python.

By: Staff


App Engine is Google's framework for letting external developers write software on Google's infrastructure. As such the book serves three purposes: explaining what exactly Google App Engine is (not to be confused with Google Apps of course), what services are available though it and how to create an application. The first part of the book covers what App Engine is and how to create a simple "Hello World" application, afterward readers are taken though planning a del.icio.us-like bookmarking service and then the rest of the book shows how to implement the design using the services App Engine provides access to.

Readers are first introduced to the App Engine and are shown how to download and install the Eclipse-based IDE on their system and create the mandatory “Hello World” application. Like a lot of Google's offerings, App Engine is intentionally marked as an unfinished preview release (as opposed to Google's usually highly-functional “beta” releases) so developers have come to expect several changes along the way such as the announcement of Java and other enhancements in Spring 2009. The first and second chapters cover a lot of what you can and can't do with the App Engine SDK. App Engine currently uses Python as primary development language, though Java support is being introduced at the time of writing. Learning the Python language is left up to the reader- the book does not try to teach it. Developers familiar with Python will find coverage of what libraries are and are not available to run under App Engine as well as mentions of some libraries being ported to App Engine. What readers will know by the end of these chapters is how to create an App Engine application they can install on Google or one of their own domains.

From chapter three on, readers are being taken though 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 due to the fact that 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 to only read files that where 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 familiar 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 own web framework, webapp, that should feel familiar to developers used to other frameworks.

After the design is created. Readers learn how to build an application using webapp 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, sometimes never surfacing again is that the application has to often be  re-written completely to run in Google's environment. It's probably worth keeping this in mind when porting your own 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 a good 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 hear 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.

Date published: 24-Apr-2009





Map Scripting 101

Beyond GoogleMaps, using Bing and Yahoo maps in your web apps.

Hello Android

An introduction to programming Google's Android OS.

Beginning Android 2

Now that you know Java, why not learn some Android APIs?

Learn Java for Android Development

Before you compile, you need to learn Java.

Google Apps Hacks

Not just Gmail, using Google's web applications to simplify your life.


2017 YYZTech

For American computers stores, visit: AmericanComputerDealer.com