jeudi 22 mai 2008

A la découverte de Grails

Quelle surprise de découvrir enfin ce qui se cache derrière Grails. Depuis quelques temps, j'entends parler de Ruby, de Ruby On Rails (RoR), de Groovy et de Grails ... C'est vrai qu'en tant que développeur Java je reste très attaché à mon langage de prédilection et il est assez difficile de me dire qu'il peut exister quelque chose de mieux ailleurs, et pire, que je doive réapprendre une autre syntaxe!


Mais bon, il faut bien se laisser aller à découvrir de nouvelles choses et parfois on tombe sur des pépites. C'est ce qui m'est arrivé ce soir. En effectuant ma veille technologique (voir le billet précédent), je suis tombé sur une présentation postée sur InfoQ. Je lance la vidéo et j'essaie de suivre la présentation ultra-rapide d'un jeune homme expliquant pourquoi Grails est tellement "Awesome!". Il parle très vite, trop vite pour moi, il faut que je stoppe la vidéo (j'en suis à 8 min sur 60mn) et que je me renseigne un peu sur ce qu'est Grails pour au moins acquérir le vocabulaire nécessaire! Et c'est là que je tombe sur les screencasts du site officiel de Grails, à cet instant précis, j'ignore absolument tout.

Prenez quelques minutes ( 26mn30 exactement) et venez découvrir à travers différents screencasts les fonctionnalités suivantes :

  • Video 1 (MOV,AVI,WMV) : Comment créer une application web avec Grails. Remarquez avec quelle rapidité on peut générer tous les fichiers nécessaires à la configuration et à l'exécution d'un projet Web. Tout est quasi généré, des objets métiers jusqu'aux pages web en passant par la création des DAO !
  • Video 2 (MOV,WMV) : Présentation de l'arborescence d'un projet Grails et modification du code à chaud.
  • Video 3 (MOV,WMV) : Les tests unitaires peuvent être générés et exécutés automatiquement. Quand je dis "générés", ce n'est pas seulement le squelette de classes ... ce sont de véritables tests qui sont générés pour tester les opérations telles que l'ajout, la suppression d'entités! Cerise sur le gâteau : un rapport de type success/failure est généré en html.
  • Video 4 (MOV,WMV) : La dernière vidéo est assez impressionnante, elle démontre comment en quelques minutes on peut créer une application qui manipule un flux XML (en l'occurrence le flux RSS d'un podcast) et comment en Groovy on peut parcourir les items d'une manière simplissime!

Donc au final Grails qu'est-ce que c'est? Un framework web qui associe la puissance de Groovy et de Java pour accélerer les développements d'applications Web! Il génère énormément de code fastidieux (classes d'objets métier, DAO, JSP, fichiers de configuration, ...) ce qui fait gagner énormément de temps. Et dire que je me satisfaisais de "generate Getters/Setters" d'Eclipse! Grails va beaucoup, beaucoup plus loin.

Reste à savoir si comme tout générateur de code, il ne va pas trop loin et s'il ne faut pas repasser derrière et tailler dans le vif ... Je pense continuer mes investigations et étudier les performances des sites qui ont pu exploiter Grails.

Je termine l'article par la citation du site officiel qui me servira de description :
Grails - Broken into bite-sized pieces
Grails aims to bring the "coding by convention" paradigm to Groovy. It's an open-source web application framework that leverages the Groovy language and complements Java Web development. You can use Grails as a standalone development environment that hides all configuration details or integrate your Java business logic. Grails aims to make development as simple as possible and hence should appeal to a wide range of developers not just those from the Java community.

Aucun commentaire: