<i>GWT in Action</i> Book Review

Discussions

News: GWT in Action Book Review

  1. GWT in Action Book Review (2 messages)

    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.
    • Though JSNI (JavaScript Native Interface) is a fundamental feature of GWT, it should have been presented later in the book with the advanced topics, not in Chapter 8. Knowledge of JSNI is important and necessary to grow as a GWT developer, but I don't think beginners will put it to use right off the bat.
    • Building AJAX components with the basic RequestBuilder class, which is presented in Chapters 12 & 13, should be introduced earlier than it was (especially considering the book's subtitle is Easy Ajax with Google Web Toolkit). GWT's ability to make AJAX (with JSON and POX) so easy is one of its biggest, and most important, selling points as a JavaScript framework. As such, it's one of the first features newcomers want to learn and play-around with. GWT-RPC, on the other hand, should remain as an advanced topic for later parts of the book.
    • 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 a 4/5. 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.

    Threaded Messages (2)

  2. Re: GWT in Action Book Review[ Go to top ]

    Excellent, detailed and interesting review, thanks for posting this. Cheers, Freddy
  3. Great book for first-timer[ Go to top ]

    Pretty good for first-timer to guru. Strongly recommended.