OverviewCu>
Google Web Toolkit (GWT) is an open source
Java development framework for building Ajax-enabled web
applications. Instead of the hodgepodge of technologies that
developers typically use for Ajax–JavaScript, HTML, CSS, and
XMLHttpRequest–GWT lets developers implement rich client
applications with pure Java, using familiar idioms from the AWT,
Swing, and SWT. GWT goes beyond most Ajax frameworks by making it
easy to build desktop-like applications that run in the ubiquitous
browser, where the richness of the user interface is limited only
by the developer's imagination.
This book focuses on the more advanced
aspects of GWT that you need to implement real-world applications
with rich user interfaces but without the heavy lifting of
JavaScript and other Ajax-related technologies. Each solution in
this practical, hands-on book is more than a recipe. The sample
programs are carefully explained in detail to help you quickly
master advanced GWT techniques, such as implementing drag-and-drop,
integrating JavaScript libraries, and using advanced event handling
methodologies.
Solutions covered include
• Building custom GWT
widgets, including both high-level composites and low-level
components
• Implementing a viewport
class that includes iPhone-style automated scrolling
• Integrating web
services with GWT applications
• Incorporating the
Script.aculo.us JavaScript framework into GWT applications
• Combining Hibernate and
GWT to implement database-backed web applications
• Extending the GWT
PopupPanel class to implement a draggable and resizable window
• Creating a
drag-and-drop module, complete with drag sources and drop
targets
• Deploying GWT
applications to an external server
• Dynamically resizing
flex tables
• Using GWT widgets in
legacy applications developed with other frameworks, such as Struts
and JavaServer Faces
Complete Sample Code Available at
www.coolandusefulgwt.com
All of the code used in this book has been
tested, both in hosted and web modes, and in an external version of
Tomcat (version 5.5.17), under Windows, Linux, and Mac OS X. For
Windows and Linux, we used 1.4.60, and for the Mac we used 1.4.61.
NOTE: There are three separate versions of the code. Please
download the correct JAR file for the operating system you are
using.
Foreword xiii
Preface xvi
Acknowledgments xviii
About the Authors xix
Solution 1: GWT Fundamentals and Beyond
1
Solution 2: JavaScript Integration 53
Solution 3: Custom Widget Implementation
71
Solution 4: Viewports and Maps 103
Solution 5: Access to Online Web Services
133
Solution 6: Drag and Drop 167
Solution 7: Simple Windows 199
Solution 8: Flex Tables 237
Solution 9: File Uploads 283
Solution 10: Hibernate Integration 303
Solution 11: Deployment to an External
Server 325
Solution 12: GWT and Legacy Code 343
Index 371