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

And now… Darkest Dark Theme for Eclipse Introducing the Darkest Dark Theme for Eclipse.Finally the wait for a dark theme without limitations, without blurry icons and incredibly easy to set up is over. Most importantly, it’s completely free.Go Dark Now! Why is it important for you to download it? Well, first of all—free. And aside from making your coding environment cooler in a Matrix ki...
MyEclipse 2017 – Welcome to the Next Generat... Today is a very exciting day at Genuitec! As we speak, we are just unveiling MyEclipse 2017! This is the first release of what’s going to be an amazing year of new functionality for the MyEclipse (and Webclipse) customer base. This release represents our best way to start off the year right. Yes, we are based on Neon. Yes, MyEclipse 2017 also comes...
SDC 2017 – Looks, Security & Neon. Get your installers ready (Java 1.8), because Neon is here! Our first release of the year is based on Eclipse Neon and with it, many other exciting updates.Totally new portal, we are updating the look and feel of the SDC portal, giving extra functionality that allows you to perform basic editing of packages without the need of the Admin Console. Yo...
Java 8 Features Supported by Spring 4 Spring Framework 4 supports Java 8 language and API features. In this article, we will focus on the new Java 8 features which are supported in Spring 4. The most important ones are lambda expressions, method references, JSR-310 Date and Time, and Repeatable annotations.Lambda ExpressionsSpring code base uses a lot of functional interfaces and with ...

Posted on Jul 8th 2010