Agile technologies 4 value

enfr

Here is an article from Ted Goddard at ICEsoft. We released for the grails community (and more) a plugin which allows fast collaborative application development based on JSF ICEfaces features. This is a first shot, developped for iceScrum migration from java vanilla to Grails while keeping JSF UI layer.

More is coming, JSF2 and ICEfaces 2 support for instance is a priority target.

Grails with ICEfaces

Stéphane Maldini has created an ICEfaces plugin for Grails. This combines rapid application development (including development-time code changes automatically pushed to the browser, and Ajax Push CRUD editing), JSF with Groovy model beans, and page templates with rich Ajax ICEfaces components.

If you have not yet installed Grails:

  • Download and unzip grails-1.2.1.zip
  • export GRAILS_HOME= full path to your Grails directory above
  • export PATH=$PATH:$GRAILS_HOME/bin

Now, let’s build the ICEfaces auctionMonitor demo in slightly less than a minute:

grails create-app auctionMonitor
cd auctionMonitor
grails install-plugin icefaces
grails create-domain-class org.icefaces.Item
vi grails-app/domain/org/icefaces/Item.groovy

That’s right, vi. OK, you can use a different editor if you want, but you know it will take longer. In any case, you should obtain the following:

package org.icefaces
class Item {
    static constraints = {
    }
    String name
    Integer price
}

Let’s proceed with the scaffolding generation based on the above domain object and run the application:

grails generate-all-icefaces org.icefaces.Item
grails run-app

Now, visit http://localhost:8080/auctionMonitor/item/list.iface in two different browsers. As you create Items, you can see that the list updates are automatically pushed. This is just version 0.1 of the ICEfaces Grails plugin, but it is already very interesting, and there is tremendous potential here to make a fully dynamic programming environment (via ICEfaces dynamic scaffolding). Please join us on the ICEfaces forums to discuss how to develop this further.

Cet article est disponible en : Français

Poster un commentaire