FoxMaSk – Le Grin de Sable

La passion de la liberté et le Free de la passion

Ce Dimanche au menu : Grails et Groovy

En cette St Olivier,

j’ai croisé Grails (le Grâal) .

Groovy est à Grails ce que Ruby est à Rails !

Mais qu’est-ce que Groovy au fait ?

Groovy est un langage dynamique et agile pour la « Java Virtual Machine ».

J’ai croisé Groovy lors de mes pérégrinations sur le projet Cocoon où plutot que de faire des scripts XSP archaïques (pour produire du XML), j’ai pu croiser Groovy avec sa force sans égale !

Exemple le plus QQ de la planète : le fameux hello world.
En Java je vous passe le nombre de lignes de code pour une simple chaine de caractères à afficher, en groovy cela donne :

fichier hello.groovy :

println "Hello World"

sur la ligne de commandes :

D:\groovy_tests>groovy hello.groovyHello World

Avec Cocoon mon besoin était de générer des flux XML. Encore une fois avec Java je vous passe la somme de ligne de code pour produire un flux.
En Groovy cela donne :

def xml = new MarkupBuilder(writer)xml.'rec:records'('xmlns:rec': 'http://groovy.codehaus.org') {  car(name:'HSV Maloo', make:'Holden', year:2006) {    country('Australia')    record(type:'speed', ' Truck with speed of 271kph')  }}

produira le xml suivant :

<rec:records xmlns:rec='http://groovy.codehaus.org'>  <car name='HSV Maloo' make='Holden' year='2006'>    <country>Australia</country>    <record type='speed'> Truck with speed of 271kph</record>  </car></rec:records>

N’est-ce pas simplissime ? :D

Pour Grails donc on se créé une appli via « grails create-app havefnubb », on se configure sa datasource par exemple :

dataSource {	pooled = true	driverClassName = "com.mysql.jdbc.Driver"	username = "hfnu"	password = "hfnu"}...// environment specific settingsenvironments {	development {		dataSource {			dbCreate = "create-drop" // one of 'create', 'create-drop','update'			url = "jdbc:mysql://localhost:3306/hfnu"		}	}...

On se créé une classe Domain :

grails create-domain-class Forum

On se créé un petit controller Forum type scaffold :

grails create-controller Forum

j’edite mon controller pour lui mettre la ligne

def scaffold = Forum

je demarre mon appli web

grails run-app

et la voici prete à l’emploi sur l’url http://localhost:8080/havefnubb/forum/list

Amusant non ?

Auteur : foxmask

WebDev since PHP3, Founder of PhpFr.Org to help developers in PHP, admin of the french community on PunBB.Fr. Actually core developer on Jelix PHP5 Framework, and author of HaveFnuBB and Huanui, projects made with Jelix

Commentaires Clos.