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

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...
Navigating through an Angular Project You might now be familiar with easy cruising through a Webclipse or an Eclipse project after reading our blog or thanks to a personal experience, but what if you are more of an Angular guy or gal? No worries, breezy navigation is also a reality for Angular projects.This video will give you some useful tips on how to navigate both between files, and...
Beware of Software Scams Even though imitation might be the best form of flattery, we are Genuitec, LLC, not Genuitec, Inc. Someone is using our name and old logo to run a number of scams, including real estate transactions and software sales, with the clear intent to hide behind Genuitec’s good name. We are, however, already taking action to demand an immediate cease and ...
CI 7 — More Treasures Unveiled. The wondrous world of CI 7 is opening its doors for you in our 12th release this year with more software updates. Whether you prefer using Angular IDE or Eclipse, this release has a few gems in store for you: we’ve added support for Eclipse 4.7-Oxygen, TypeScript 2.3, as well as a totally new Open Type capability for TypeScript and Angular develope...

Posted on Jul 8th 2010