This week Genuitec and Skyway Software released the second milestone (M2) of MyEclipse for Spring 8.6, which includes scaffolding for Google Web Toolkit (GWT) applications.  With this new release, you can now generate full ready-to-run GWT applications from your domain model (i.e. DB tables, Java Beans, or JPA Entities).

The new GWT scaffolding option is available using the same scaffolding wizard that MyEclipse for Spring developers are already familiar with.  The scaffolding wizard is a one-stop shop for all of the MyEclipse for Spring scaffolding capabilities, which also includes Spring MVC, Spring Web Flow and Adobe Flex scaffolding.

Here are some of the most interesting aspects of this new capability.

GWT 2.0.4

Our GWT scaffolding is based on GWT 2.0.4, which is the latest GA version of GWT.  So you can immediately use the GWT scaffolding on production projects, as there’s no dependency on early access or non-GA libraries.

GWT Best Practices

As you’ve come to expect from MyEclipse for Spring, the scaffolded code is based on best practices.  In addition to using Spring best practices for the back-end server logic, the GWT UI code and GWT-Spring integration code follows GWT best practices, which is based on the GWT best practices from last year’s Google I/O session with Ray Ryan and the series of Large scale application development and MVP articles from Chris Ramsdale.  In these resources Ray Ryan and Chris Ramsdale recommended using:

  • The MVP pattern (Model-View-Presenter) - for structuring the application
  • Application events / Event Bus - for loosely coupling application components
  • The Command pattern RPC - for RPC calls between client and server

The GWT applications generated by MyEclipse for Spring incorporate these best practices, and others from GWT practitioners.  I’ll dive more into this in a future blog post, but here’s a high-level architecture diagram that graphically depicts the architecture and patterns used in the GWT scaffolding.

The GWT project is constantly evolving, and the most recent Google I/O session discussed some changes that are coming to GWT in the future.  As with any technology, the best practices evolve with the changes in the technology, and MyEclipse for Spring is committed to incorporating newer best practices as they evolve from the GWT community.

Application Layering

GWT scaffolding is built on the same classic application layering architecture used by the other MyEclipse for Spring scaffolding capabilities.  While the front-end may be different for GWT, the GWT application leverages the same back-end application architecture that is also used for Spring MVC, Spring Web Flow and Adobe Flex applications.

Spring 2.5/3.0 Support

Don’t be fooled into thinking that GWT applications require Spring 3.0.  While Spring 3.0 has some great new features, GWT applications integrate and run very well with Spring 2.5.x.  Some development shops have migrated to Spring 3.0, but there are still a ton of development shops using Spring 2.5.x.  GWT is mostly a UI technology for AJAX applications, and a GWT application shouldn’t have dependencies on a specific server-side framework.  MyEclipse for Spring lets you easily choose which version of the Spring framework you want to use, but the choice has zero affect on generated GWT code.  That means that you can start using GWT with existing Spring 2.5.x projects and easily migrate to Spring 3.0 when you’re ready.

Let us know what you think

As excited as we are about this new feature, we are eager to hear what the developer community thinks about our GWT scaffolding capability.  There are a few ways to get your hands on the 8.6 Milestone. Please post all feedback, questions and issues to the MyEclipse for Spring section of the MyEclipse forums.

A tutorial for GWT scaffolding can be found here, and a screencast can be found here.

Related Posts

Introducing DevStyle – Rebooting EclipseR... Yesterday we released the first production version of DevStyle, a free add-on for Eclipse. DevStyle seeks to dramatically improve the Eclipse user experience for millions of developers with the introduction of modern developer ergonomics and the beautiful styling you’ve come to expect from products in 2017.Over the years, the Eclipse evolution has ...
Equifax Data Breach Advisory Many of you may have heard of the Equifax data breach, possibly affecting millions of consumers. Information accessed by hackers during the incident included Social Security numbers, personal details, driver’s license numbers, and even credit card numbers.Equifax has confirmed that the breach was made possible by a vulnerability in the Apache Strut...
SDC 2017 SR2 – Software Delivery Evolving Fu... Perhaps you're already a fan of the delicious combo offered by our Secure Delivery Center (SDC) -- you get the right software to your teams and manage a variety of actions (licenses, software updates, rollouts and standardization).  With our new version of SDC, we are bringing even more yummy features to the table!What is included in our 2017 SR2 r...
Realtime Server Monitoring App with Angular 4 , No... This article will show you how to build a very simple monitor that allows you to observe some OS parameters, such as free memory available. We will be using Node.js, Angular 4, and Chart.js - and all you need is Angular IDE.We will be creating two applications; the first is a Node application that will monitor the OS parameters and send them via we...

Posted on Jul 8th 2010