Monday, January 11, 2010

Accelerated GWT Report Card

Student Name:Accelerated GWT
School:Apress
School Year:2008
Teacher:Hamlet D'Arcy
Overall Grade:A-Strong on client side, i18n, and advanced topics.
Grading Scale: A=Outstanding, B=Good, C=Average, D=Poor, F=Fail
 
Teacher Comments
This was a good book and a worthwhile read. It was very strong on the client side and documented many edge cases of the GWT framework without reducing itself to an overly specific "recipe" book.
 
Client Side ProgrammingA-
Knowledge of Standard GWT Widget SetA-
Great coverage of basic widget set. Contains examples and advice about how to layout widgets in various containers, including composing widgets in the Composite class. Sometimes the widget API was explained too completely and it felt like reading Javadoc, but these sections can easily be skimmed. Also, this book was written for GWT 1.4, so UiBuilder is not covered at all.
Knowledge of CSS StylingA
Great coverage of how to work with the CSS of widgets including several good examples. Best coverage of the topic I could find.
General Client ConcernsA
Overall, the client sections are excellent. Serializing your own classes is covered, the output of the GWT compiler is given fair due, and generators for creating custom JavaScript code at compile time are covered. So far, this is the best book on client side GWT that I've found, even though it doesn't cover the 2.0 features.
Knowledge of JSNI (JavaScript Native Interface)D
JavaScript Native Interface is barely covered. In comparison, GWT in Practice covers it maybe too much. Embedding JavaScript in multiline Java comments is the most controversial part of GWT, but it's not the most important. Still, a little more info would be helpful.
 
Server Side ProgrammingB
Knowledge of GWT RPC (Remote Procedure Calls)B
GWT RPC is covered in 14 pages. Do you need more than that? Maybe not, it's pretty straight forward. The appendix does cover some of the newer 2.0/1.5 features, like generics.
Knowledge of InternationalizationA+
Over 30 pages on i18n, including an example using localization at either compile time or run time. Very good chapter.
Knowledge of Security ConcernsB+
Same origin policy and cross site scripting: check. Not as lengthy coverage as in other books, but adequate.
Knowledge of GWT TestingB
GWT Testing is surely the easiest chapter of the book to write. GWT ships with GWTTestCase for testing asynchronous calls and a benchmarking tool for measuring performance, and they are clearly explained all over the Internet. Speed Tracer, the 2.0 profiler that runs in Chrome, is of course not covered.
Creative Code SamplesB
Decent enough code samples (with an occasional error) covering browser history and server sessions, as well as the other topics mentioned. Some of the code samples were a little long and ImageBundle was given too much space given that it is deprecated in 2.0.
Knowledge of Alternative Server StacksD
Nothing on the server side beyond GWT RPC is covered.
 
GWT Best PracticesB+
Tools to Write GWT ClientsA
The Enterprise means constraints: existing domain objects, maybe a crummy DAO, etc. Enterprise GWT apps will need things like custom serializers and custom generators to work around their legacy constraints, and Accelerated GWT covers these topics well.
How to Design GWT ServicesB
General advice about domain objects and writing RPC services is given and a DTO approach is avoided, which pleases me. Overall, however, not a lot of information is given on building "Enterprise" backends, which is part of the book's title.

No comments: