Introduction
GWT Tutorial explains the design of a complete application using Google Web Toolkit (GWT) ™ 2.x. Written in a style keeping both beginners, as well as, intermediate developers in mind, book covers client side user interface design, server side communication, effective persistence strategies and hosting the application on Google App Engine. Fins is an GWT app developed in this book, displays financial performance of a company in a clean and easy to use user interface.
Google Web Toolkit (GWT) official site hosts a introductory StockWatcher tutorial as well as other reference docs and some beautifully crafted demo like GWT Showcase, Mail Application etc., These excellent resources along with GWT Designer and Google plugin for Eclipse IDE makes Google Web Toolkit a compelling toolkit to develop AJAX based web apps.
Stock Watcher tutorial explains nuts and bolts of GWT in easy to follow steps. Once we go through it we assume that with the help of GWT Designer, we should be able to complete GWT applications pretty fast. But, it is not easy to build a complex GWT app and for that matter any other real life application with just some drag and drop.
Search for a complete GWT example or a step by step tutorial yields anything beyond start-up or proof of concept tutorials. GWT Showcase app that comes with Google Web Toolkit has a well laid out UI and it provides some idea to take a project forward, but the code is bit difficult to understand as it has lot of other features like source code display etc. Being a showcase of GWT widgets and GWT Panels, it lacks server side RPC or persistence code that are essential for any real life project.
Some will persist and go through many of these documents, tutorials, Q&A forums, source code of GWT demo and GWT Showcase to build a full project. But, many would prefer a book that packs all essential GWT concepts,frequently used GWT Widgets and GWT panels.
This book is just that. GWT Tutorial is a step-by-step guide to a complete GWT 2.x project so that developers may easily find many pieces of a GWT project in one place.
About Fins
Book walks through, Fins, a GWT web app with following features.
Stacked menu and tabbed content area
View financial details. This UI rich view provides following details
Price, PB, PE graphs using Google Visualization Tools.
Balance Sheet, Profit and Loss, Cash Flow, Shareholding pattern and Quarterly figures with navigation buttons to view historical values.
Upload data to server.
Fins - GWT Demo Application is deployable to Google App Engine (GAE) with Google High Replication Datastore (HRD) as back end or to Redhat OpenShift with MySQL backend. It is also possible to deploy it in a traditional web server like Tomcat with any JDBC compliant RDBMS like HSQLDB as back end. In both these cases, Fins use Java Data Objects (JDO) as Object Relation Mapping (ORM) layer and it is also possible to use Hibernate or MyBatis for ORM instead of JDO.
Actual application has many other options like Top 10, Ratio Analysis, Sectoral Analysis etc., but they are similar to the above mentioned views and not covered in the book.
About GWT Tutorial
GWT Tutorial is divided into three parts. Part 1 deals with client side coding which explains layouts, UIBinder, custom widget and events in detail. Part 2 deals with server side coding and it covers RPC calls, data access and persistence. Part 3 shows how to program the GWT application for Google App Engine and RedHat OpenShift cloud platforms.
Initial four chapters are organized like a tutorial so as to assist beginners to get on with GWT effortlessly whereas other chapters follow book style that explains design considerations and concepts with the corresponding code snippets.
Goal of the Google Web Toolkit Tutorial is to assist beginners and also intermediate developers to get into Google Web Toolkit without much effort so that they may use the saved time to learn advanced GWT concepts
Many of the chapters end with forward pointers either to Google Web Toolkit official documentation or to some other good resources. Reader may use them to gain further knowledge on the concepts cover in those chapters.