Closure: The definitive guide by Michael Brolin
With relevant type information, which includes a notion of subtyping, the compiler can report type errors, and even a full program analysis to determine dead code which it can throw away. Most importantly, the compiler freely renames variables and folds constants to reduce the size of the code considerably, drastically improving the start up time for an application.
As you’d expect, given the types of applications that Google produces, there’s a lot of functionality concerned with implementing Ajax client-server applications. For example, goog.net.XhrIo is a wrapper over the basic XmlHttpRequest which offers events for completion and errors. goog.net.XhrManager allows the application to configure the timeouts and retries, and there’s a bulk loader for firing off downloads and getting notified on completion. There’s support for communication between independent iframes and support for COMET, the standard long running request trick which allows clients to avoid polling while still getting timely notifications from a server.
Closure Templates allow you to write a template for a particular pattern of HTML, avoiding the need to inline a lot of construction code which can be really hard to edit. The book covers this area really well.
The book is 500 pages long which requires some effort to read, but I learned a lot about the Closure Tools and during the course of the book a fair amount of material about writing rich internet applications too.