Using Google App Engine

Start Building and Running Web Apps on Google's Infrastructure

Charles Severance

Publisher: O'Reilly, 2009, 241 pages

ISBN: 978-0-596-80069-7

Keywords: Python, Web Programming

Last modified: June 6, 2013, 2:15 p.m.

Build exciting, scalable web applications quickly and confidently using Google App Engine and this book, even if you have little or no experience in programming or web development.

App Engine is perhaps the most appealing web technology to appear in the last year, providing an easy-to-use application framework with basic web tools. While Google's own tutorial assumes significant experience, Using Google App Engine will help anyone get started with this platform. By the end of this book, you'll know how to build complete, interactive applications and deploy them to the cloud using the same servers that power Google applications.

With this book, you will:

  • Get an overview of the technologies necessary to use Google App Engine
  • Learn how to use Python, HTML, Cascading Style Sheets (CSS), HTTP, and DataStore, App Engine's database
  • Grasp the technical aspects necessary to create sophisticated, dynamic web applications
  • Understand what's required to deploy your applications

Using Google App Engine is also an excellent resource for experienced programmers who want to acquire working knowledge of web technologies. Building web applications used to be for experts only, but with Google App Engine — and this book — anyone can create a dynamic web presence.

  • Preface
  1. Programming on the Web
    • The Request/Response Cycle
    • What Is Google App Engine?
    • What Is a “Cloud”?
    • Why Did Google Build App Engine and Give It Away for Free?
    • What Is the Google Infrastructure Cloud?
    • Enter the Application Engine
    • Your Application Must Be a Good Citizen in the Google Cloud
    • How the Cloud Runs Your Application
    • Why You Really Want to Run in the Cloud
    • The Simplest App Engine Application
    • Summary
    • Exercises
  2. HTML and CSS
    • A Brief History of HTML and CSS
    • HyperText Markup Language (HTML)
    • A Well-Formed HTML Document
    • Validating Your HTML
    • HyperText Links (Anchor Tags)
    • Multiple Files
    • Lists in HTML
    • Specifying Styles Using CSS
    • Styling Tags with CSS
    • Exerting More Control over Markup
    • Validating CSS
    • Tools to Help You Work with CSS
    • Building the Navigation Menu
    • The CSS Box Model
    • Adding Navigation Hints for Users
    • Summary
    • Exercises
  3. Python
    • What Is Programming?
    • About Python
    • Installing Python
    • The Essence of Programming
    • Input, Processing, and Output
    • Conditional Steps: A Number-Guessing Web Application
    • Variables and Expressions
    • Naming Variables
    • Constants
    • Handling Text Data Using Strings
    • Using the String Library
    • Types and Conversion
    • Variables with Many Values at the Same Time: Lists
    • Repeated Code: Loops
    • Python’s Backpack: Dictionaries
    • Looping Through a Dictionary
    • Stored and Reused Code: Python Functions
    • Turning Traceback to Our Advantage Using Try and Except
    • Object-Oriented Python
    • Comments in Python
    • The Tao of Programming
    • Summary
    • Exercises
  4. Sending Data to Your Application
    • Making an HTTP Request
    • Hacking the HTTP Protocol
    • The HTTP Protocol Standards
    • Watching HTTP in Action
    • HTML: Building a Form
    • Sending Form Data to the Server Using POST
    • Handling Form Data in the App Engine Server
    • Sending Form Data to the Server Using GET
    • App Engine Log
    • Looking at All the Data Available on an HTTP Request
    • Advanced: Multipart POST Data with File Upload
    • Summary
    • Exercises
  5. The App Engine webapp Framework
    • A Trivial App Engine Application
    • An Equivalent Trivial webapp Application
    • The Handler Callback Pattern
    • Looking at the Handler Code
    • What Is “self” and Why Is It There?
    • Number Guessing Using the webapp Framework
    • Web Server Logs
    • Summary
    • Exercises
  6. Templates
    • Template Syntax
    • Using the Templates from Python
    • The Number-Guessing Game Using Templates
    • Abstraction and Separation of Concerns: "Model View Controller"
    • Building a Multiscreen Application
    • Static Files in App Engine
    • Referencing Static Files
    • Generalizing Template Lookup with Multiple Templates
    • Extending Base Templates
    • Conditional Processing Templates
    • Replacing More Than One Block in the Base Template
    • Extending Our Application
    • Syntax Errors
    • More on Templates
    • Summary
    • Exercises
  7. Cookies and Sessions
    • HTTP Cookies
    • Logging In and Logging Out Using Sessions
    • Installing the Simple Session Utility
    • Using the Session to Mark Login and Logout
    • Changing the User Interface for a Logged-In User
    • Summary
    • Exercises
  8. App Engine Datastore
    • The Model-View-Controller Pattern
    • Defining Models
    • Adding a New Account Form
    • Adding a User Account
    • Looking Through the Datastore
    • Logging In and Checking Accounts and Passwords
    • Retrieving and Displaying Many Objects
    • Terminology: Different Types of Keys
    • References Between Data Models
    • Interactions Between Models
    • Putting the Primary Key into Session
    • Adding the Chat Feature
    • Summary
    • Exercises
  9. JavaScript, jQuery, and AJAX
    • jQuery
    • Create a View of the Chat Messages in HTML
    • Asynchronously Updating a <div> Using AJAX
    • Summary
    • Exercises
  10. Running Your Application on the Google Infrastructure
    • Application Engine Accounts
    • Creating an Application on App Engine
    • Uploading Your Application
    • Testing Your Application
    • Logs, Statistics, and Other Features
    • Uploading New Versions
    • Collaboration on Applications
    • Summary
    • Exercises
  11. Memory Cache
    • The Rules of Memory Cache
    • Using the Memory Cache
    • Using the Application Console to Examine Memory Cache
    • Using a Memory Cache in Your Application
    • Building a Session Store Using Memory Cache
    • Sessions and Memory Cache
    • Summary
    • Exercises
  1. Installing and Running Google App Engine on Windows XP
  2. Installing and Running Google App Engine on Windows Vista
  3. Installing and Running Google App Engine on a Macintosh System
  4. Installing and Running Google App Engine on a Linux System

Reviews

Using Google App Engine

Reviewed by Roland Buresund

Disappointing *** (3 out of 10)

Last modified: June 6, 2013, 12:59 p.m.

This book was a real disappointment. Not because the contents are bad (they are in fact pretty good), but because it really should have been called "Web Apps 101 using GAE as an example".

As a web-newbie, you probably find it pretty good (unless you already know Python, of course, then you get irritated on the long-winding and stupid explanations). But if you want a book on how to best utilise and/or use GAE, you'll find some limited information only, in the last half of the book.

In short, wrong title, wrong market, but a good book for the right audience.

Comments

There are currently no comments

New Comment

required

required (not published)

optional

required

captcha

required