Author: Federico Kereki
Publisher: Addison Wesley, 2010
Aimed at: Experienced Java programmers
Pros: Contains lots of useful information
Cons: Very theoretical, makes the topic seem difficult
Reviewed by: Alex Armstrong
Tackles the topic of how GWT can be used to build complex web applications - does it succeed?
This is an introduction to GWT - Google Web Toolkit - 2 for the experienced and sophisticated programmer. It isn't really a step-by-step guide to simply writing a GWT-based application, it is more about the general philosophy of doing so. As such it is going to disappoint many reader looking for a direct and practical approach - this has a lot of asides and theory.
You can more or less skip Chapter 1 as its is very general and about methodology. Chapter 2 is where we really start with GWT. It puts forward a good argument for GWT, but my guess is that if you have bought the book you probably are already won over by the argument. Chapter 3 gets us on to creating a first project using the Eclipse plug-in. Of course you can now use the drag-and-drop designer plug in but this isn't covered.
The problem is that rather than consolidate the ground won by creating a first project the author next goes off to consider the browser problem - all good stuff but it should have been later. Chapter 5 returns to consider creating the UI. Here we meet the MVC pattern and the flavour of the pattern that GWT actually fits best, the MVP pattern. I found this confusing with some very long examples that didn't really help.
Chapter 6 is all about communicating with the server and RPC. Again the examples were too complex for an initial introduction. Chapter 7 extends the discussion to the problems of the same origin policy which makes RPC and cross domain communication much more difficult. The chapter does include an example of building a proxy.
As mentioned in earlier, this is a book only suitable for the advanced programmer but even so the ideas could be presented more simply. It actually almost had me believing that GWT was a harder way to implement a web app than the alternatives - which isn't really the case.
If you are an experienced Java programmer and understand many of the problems of creating a web application then this book contains a lot of very useful information but it is quite hard work getting at it. However if you are looking for a book that just tells you how to build simple user interfaces with GWT plus a few simple operations then you probably would be better off using the documentation or finding another book. This one is about the bigger picture and how GWT can be used to build quite complex web applications.