Friday, February 25, 2011

Introduction - Rapid Application Development Using GWT with Roo and STS

One of the most important features introduced to GWT with version 2.1 was its integration with Spring Tool Suite (STS) and Spring Roo. This collaboration has opened the way for developers to rapidly develop their GWT Web applications with the MVP pattern and with a highly-efficient communications layer in the form of the RequestFactory.

GWT's own documentation states that "with Roo 1.1, you can create a functioning application from scratch in minutes with a few simple commands."  While this statement is true, the trouble lies beyond this point in customizing the Roo-generated scaffold application into a Web application that functions as required. The reason for this is a combination of the highly complex code generated by Roo and the lack of comprehensive documentation on it.

In an effort to shed some light onto the subject, I will be taking GWT, Roo, and STS for a "test drive" and providing a write-up of my findings in this blog.  I will separate my research into several parts from installation of all components to customization of the generated application.

Even though I have had prior experience with GWT version 1.4, I felt it was necessary to read substantial material before getting started. It seems that a lot has changed between versions 1.4 and 2.2 of GWT and the following documentation is a must-read for anyone who wishes to understand the code generated by Roo.

MVP Pattern:
MVP Pattern Developer's Guide

RequestFactory:
RequestFactory Developer's Guide

UiBinder:
UiBinder Developer's Guide

GIN:
GIN Tutorial

Additionally, Roo-generated code makes extensive use of Java Generics, which was introduced with Java version 1.5.  If you are not familiar with Java Generics, then you will definitely want to read the following documentation prior to getting started:
Java Generics Tutorial

I recommend the following documentation to those who are not familiar with aspect-oriented programming (AOP) and AspectJ:
AspectJ - Getting-Started Guide

No knowledge of STS and Roo should be necessary since I will be learning as I go along and sharing my findings in this blog. I will be working with GWT version 2.2, STS version 2.5.2, and Roo version 1.1.3 in a Windows environment.



IntroPart IPart IIPart IIIPart IVPart V



1 comment: