GWT in Action
is a comprehensive tutorial of the Google Web Toolkit. The book was co-authored by Robert Hanson
and Adam Tacy and released in early-2007. Hanson is an industry veteran who started working with GWT immediately after its initial release in mid-2006 and has since contributed a valuable open-source extension to GWT - the GWT Widget Library
. You can view Robert's interview about GWT in Action
in this TSS Video Tech Brief
Although Google's own GWT documentation
is quite handy, it is overly concise and does not thoroughly break down important concepts. The Google documentation acts best as a quick reference guide for those that already have some working experience with GWT. I suspect Google wants developers to take a more hands on approach and learn by diving straight into the numerous source code examples they provide. Though this way of learning can be extremely useful, it can also be very frustrating for beginners/newcomers as they are forced to make assumptions about the underlying concepts and often learn only after trial-and-error. GWT in Action
does a great job at filling many of the gaps left by Google's documentation.
Not only does GWT in Action
teach you the fundamental concepts behind GWT and its API, it also instills best practices and processes for the end-to-end development of GWT applications (from conception, to design, to setup, to implementation, to testing, to deployment). This information alone is invaluable and well worth the price of the book.
So, what's not to like about GWT in Action
? The book doesn't come without flaws... but that should be expected from the first edition of a book about a technology that is barely a year old.
The biggest issue with GWT in Action
is its running example - the Widget Dashboard. The Widget Dashboard is analogous to a desktop or window manager in that it manages the display of various GWT Widgets within the visible space of your browser. The Dashboard application itself is pretty cool when you play around with the end-result. However, getting to the end-result is a different story. Though the authors do a great job of showing relevant code snippets from the Dashboard application in the appropriate chapters and sections, I don't think they do a good job of helping the reader seamlessly bring together the Dashboard application from scratch. Even after attentively reading chapter-by-chapter, example-by-example, at the end of the book I had nothing that resembled a complete Dashboard application. To fill in the missing pieces, and get the Dashboard up and running, I had to download the completed source code from the book's web page. If GWT in Action
is ever revised, I would prefer to see each section have a stand-alone example relevant to the topic at hand and, alternatively, have the Dashboard presented as a comprehensive example towards the end of the book.
Another problem with GWT in Action
is its organization. I feel that some information is presented in suboptimal order and may confuse or detract some readers.
- The sections on creating widgets and panels from scratch (found in Chapters 4 & 5) should be broken out into a separate chapter and presented as an advanced topic. The authors themselves repeatedly state that creating your own widgets and panels should be done as a last resort (favoring Composite widgets instead). If that is the case, they should not risk confusing the reader with this information in Part II.
- The final chapter of the book, Chapter 17, describes how the GWT compilation and application loading process works. This chapter should appear in Part I of the book because it is extremely useful and insightful.
If GWT in Action
is revised, I'd like them to do a better job at getting the readers up and running with the coolest and most important aspects of GWT as early as possible, so not to risk losing their interest and momentum or causing confusion.
As a tutorial on the underlying concepts of GWT (both fundamental and advanced) and its API, I give GWT in Action
a 5/5 - hands down. As an end-to-end tutorial on how best to develop GWT applications, I also give it a 5/5. As a reference for intuitive and easy to understand source code examples, I give GWT in Action
a 2/5. Therefore, overall, I give GWT in Action
Despite not being perfect, I highly recommend that anyone trying to learn GWT buy this book (at the very least in eBook format) and supplement it with the documentation and examples from the Google Web Toolkit website.
Nestor Toro is a Senior Engineer/Architect with a broad engineering skill-set and background. Nestor mostly focuses on Java web technologies, back-end infrastructure and platform engineering. Nestor holds a B.S. in Computer Science Engineering from MIT and has worked for such companies as Oracle Corporation and Walmart.com, as well as several startups. Nestor is currently the senior member of the Web Infrastructure team at LeapFrog Enterprises.