Groovy, baby !

Depuis quelques temps, mes yeux sont attirés comme par un aimant par le calendrier Aubade 2010 heu, non, qu’est-ce que je raconte, moi.
Non, mes yeux se tournent du coté de Groovy pour une raison assez curieusement marrante.
Voyez-vous, dans ma boite, on développe une énorme application professionnelle avec un langage propriétaire (au sens de c’est nous qu’on l’a fait, je dis ça pour ma mère qui passe de temps en temps par ici). Jusqu’à présent, pour ce langage, on n’avait aucun outil de qualité logicielle, à commencer par des tests unitaires. Donc, avec un collègue, la semaine dernière, on s’est pris par la main, et on a écrit notre petit framework, qui en fait à peu prés autant que JUnit 3 avec une syntaxe plutôt proche de JUnit 4. On a fini assez récemment, et ça marche plutôt bien. Seulement voilé, comment faire pour avoir un suivi des tests, une exécution systématique, bref de l’intégration continue ?
Les plus geeks d’entre vous me parleront d’Hudson, et ils auront raison. il faut, à partir des résultats de test, produire un fichier compatible avec le XML de Junit, dont la syntaxe ne se trouve pas facilement sur le web. Il faut aussi injecter cette syntaxe dans Hudson pour bénéficier des jolis graphiques d’évolution des résultats de test. Et c’est là que je vais vous parler de Groovy.
Groovyéest un langage dynamique pour la plateforme java. Ca veut dire que le seul interpréteur Groovy existant est un logiciel en java. on bénéficie donc des avantages de la plateforme Java (une portabilité rarement égalée) et de ses inconvénients (l’intégration fine à l’OS est parfois complexe). Cependant, Groovy n’est pas Java, et il permet d’utiliser des constructions de code franchement élaborées (closures, builders divers et variés, DSL, …). Bref, il marie les avantages de Ruby avec la plateforme Java. même en terme de déploiement, il offre quelques subtilités intéressantes avec grape. Enfin, et c’est ce qui m’a poussé dans cette direction, il est à la fois trivial d’écrire un mojo maven avec groovy, et d’écrire un client web-service se branchant sur un WSDL avec groovyws.
Et je dois dire que j’ai pas été déçu du voyage. En fait, ce qui m’a paru le plus difficile, ça a été de travailler sur un projet maven+groovy dans Eclipse, qui perdait les pédales dés que j’essayais de faire marcher les différents builders en même temps. Mais à part ça, groovy est presque immédiatement devenu pour moi le nouveau langage à mettre dans mon escarcelle : il est puissant, son environnement d’exécution est robuste (la JVM, je ne connais pas grand chose de plus solide), on peut écrire d’une façon aussi expressive qu’en Ruby, et la plupart de mes vieilles feintes de javaiste continueront à fonctionner.
Bref, si vous avez un peu de temps devant vous, allez lire quelques pages de la doc Groovy, faites-vous un toy project avec Gaelyk ou Griffon, et vous verrez comme c’est bien. Ou même, tiens, passez votre projet à gradle, ce sera amusant.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s