Book Review – Google Web Toolkit Applications
Posted January 7th, 2008 by Nazmul
We believe in the power of ONE, at ScreamingToaster.
We believe in innovation - ONE experience can change a person's life.
We believe in partnerships - ONE endeavor can establish lasting trust & mutual success.
We believe in education - ONE training course can empower a developer for life.
We believe in giving back - ONE open-source project can inspire future entrepreneur.
ONE person can become the leader that starts a revolution.
ONE company can change the world and make it a better place - join us.
The Google Web Toolkit (GWT) is an open source Java development framework for building AJAX enabled web-applications. This is a review of Google Web Toolkit Applications by Ryan Dewsbury. Ryan Dewsbury is the creator of GPokr and KDice, two of the more popular GWT applications around. Google Web Toolkit Applications is a book that aims to teach its readers how to build web applications using GWT and is suitable for both GWT neophytes as well as those with prior GWT experience.
The book can be seen as being made up of two distinct halves. The first half of the book focuses on walking the reader through the fundamentals of GWT such as the GWT UI framework, the GWT RPC framework, etc. Readers can also learn how to set up their development environments to begin writing GWT applications.
The second half of the book walks the reader through the creation of five applications with aim of showing the reader how to:
- Build Custom Widget Implementations (both Composite and low level Widgets)
- Use CSS to style Widgets
- Implement Drag and Drop in GWT
- Interact with existing web APIs including, Google Maps API, Google Ajax API, GData (Google Base), Google AuthSub, Blogger Service, Yahoo Weather, Yahoo Web Services (Search), Flickr, Amazon Web Services (Books), RSS, and Atom.
- Interact with Native JavaScript libaries, or create your own using GWT’s JavaScript Native Interface (JSNI)
- Use GWT RPC to implement remote services.
- Create a GWT code generator to serialize and de-serialize JSON and XML.
- Create applications that use HTTP Sessions
- Use Jetty Continuations, or Comet on Tomcat for implementing service to client event notification
I found the book to be a mixed bag. I like the fact that this book isn’t just a bunch of code listings with some explanations pasted around them. There isn’t a listing that is longer than a page and in the first half of the book the listings are very easy to follow and the explanations are effective enough. Things however change as I moved into the second half of the book. As the applications start to get more complex both the code and the author’s explanations get more confusing and difficult to follow. Most of the confusion stems from some poor class and variable name choices that make it difficult to keep tabs of what you are looking at in the code. The explanations of what is going on aren’t very well written. The writing is average at best. I found that it was a lot of work to read this book. I had to re-read sections more that once to get the gist of what was going on. That is not a good thing.
However, the book does highlight a lot of techniques that can be used to build non-trivial applications in GWT. It is full of useful information and after finishing you should have a pretty solid idea of how to build solid, feature rich GWT applications.
At the end of the day, I found the book to be ok. The book was useful to me and I learned quite a bit from it. It just took forever to get through it due to the average writing and confusing code.
If you don’t already have a copy, you can buy the book here.
To view demos of the five applications built in the book, check out these links:
- Gadget Desktop Application Demo
- Multi-Search Application Demo
- Blog Editor Application Demo
- Instant Messenger Application Demo
- Database Editor Application Demo
To download the source code from the book click here.
To post your comments and feedback, click here.
We do not just build mobile “apps”, we build mobile experiences
Let us build you mobile experiences for Android, BlackBerry, and iPhone. We can also build you cloud-connected experiences that span Mobile (Android, BlackBerry, iPhone), Web (Safari, Firefox, Internet Explorer) and Desktop (PC, Mac, Linux) for a truly connected real-time experience. See our work in action: download RainOrShine for BlackBerry and CityRyde for Android.
- We provide full service, full lifecycle consulting services (planning, graphic design, architecture, marketing, support, and implementation).
- We provide Architecture guidance before implementation; marketing strategy after implementation. Click here to learn more.
Zen Application Framework
All our applications are built using our Zen Application Framework, which helps you avoid the common pitfalls around mobile development. Zen drastically reduces development time & cost for mobile, web, and desktop experiences. Click here to learn more.
Our training services make You self-sufficient & sustainable
Want to learn from the best? We offer Android and BlackBerry developer training programs. Whether you are just starting out, or want advanced training, we have courses for different skill levels & technology requirements. Contact us to learn more, and sign up.
Our values: Open-source. Democratization of knowledge. To lead, never follow
We are leaders in mobile technology. We have done and seen it all. We do not follow trends set by others & we do not make the mistakes made by others. We set the trends for mobile because we are mobile visionaries.