Utilisez-vous Grails
Le framework Web écrit via le langage Groovy ? Venez partager votre expérience

Les rubriques (actu, forums, tutos) de Développez
Tags
Réseaux sociaux


 Discussion forum

Le , par Mickael Baron, Responsable Eclipse et JAVA
Grails en est actuellement à la version 2.1. Initié en 2005, ce framework écrit avec le langage Groovy en est donc à sa 7ème année d’existence. Nous aimerions avoir votre avis sur ce framework Web basé sur le patron de conception Modèle-Vue-Contrôleur.

Vous pourriez par exemple insister sur :
  • depuis quand vous l'utilisez,
  • votre satisfaction,
  • le soutien de la communauté,
  • évolution des versions,
  • l'apprentissage du langage Groovy.

Merci pour votre participation.

L'équipe Java


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de alex_vino alex_vino
http://www.developpez.com
Membre Expert
le 26/10/2012 14:18
Pourquoi ce post apparait-il dans les actualités?
Si c'est volontaire ca aurait été cool de présenter ses fonctionnalités et d'inclure le lien web du projet.
Merci.
Avatar de rt15 rt15
http://www.developpez.com
Membre éclairé
le 26/10/2012 17:15
Bonjour,

Je n'utilise pas grails, mais le produit sur lequel je travaille utilise grails, pour sa configuration. En gros on utilise un BeanBuilder de grails pour transformer un fichier groovy en application context de spring contenant notre configuration (Une grappe d'objet avec divers paramètres).

Mais en fait, c'est tellement lent, ça consomme du heap, ça consomme du permgen, alors sur ma machine, je m'arrange pour faire le même boulot différemment (Fichier properties + java).

Je perds du temps à maintenir cette implémentation pirate de la configuration de notre appli.
Mais je gagne des secondes au chargement de la configuration, ce qui est bien pratique quand celle-ci est chargée par les centaines de cas de tests qui ont besoin de celle-ci.

Autre problème, les fichiers groovy ne se patchent pas facilement. Lors du passage automatique de la version x à la version y de notre produit, on peut avoir des nouveaux objets ou de nouveau champs à ajouter dans la configuration. Mais on ne peut pas simplement écraser le fichier car le client a pu le modifier. C'est donc plus compliqué qu'un fichier properties où on peut généralement simplement ajouter des lignes.

Pour info, j'en suis venu à faire pareil pour spring... On l'utilise pour construire un gros application context (Basé sur les annotations spring, pas de xml), instancier des beans via des ObjectFactory de spring et scanner des package à la recherche d'extensions. L'ensemble est incroyablement lent. Du coup j'ai préféré réécrire un application context équivalent et implémenter tout ce qui est injection de dépendance, scan de package, ObjectFactory... Mon implémentation est triviale, pourtant les gains de temps sont énormes. Une exécution d'un de nos outils batch passe de 39 seconde avec spring à 7 seconde avec mon implémentation. Pour un résultat fonctionnel strictement équivalent. On doit mal utiliser spring, c'est certain. Mais à quoi bon s'enliser à utiliser ces technologies qui ressemble autant à des limaces qu'à des usines à gaz ?
Avatar de martopioche martopioche
http://www.developpez.com
Membre éprouvé
le 26/10/2012 23:55
Wow, que 2 réponses sur Grails ? Arf... Pour répondre un peu sommairement

Citation Envoyé par keulkeul  Voir le message
Vous pourriez par exemple insister sur :
  • depuis quand vous l'utilisez,
  • votre satisfaction,
  • le soutien de la communauté,
  • évolution des versions,
  • l'apprentissage du langage Groovy.

Merci pour votre participation.

Découvert il y a un peu plus de 2 ans pour un projet pilote, réutilisé ponctuellement mais souvent en marge des projets pour ce qu'il est avant tout, c'est à dire un framework web très productif du fait de son paradigme "coding by convention". Son gros défaut est là en fait, car quand un dev' Java entend "Spring" et "Hibernate", il a tendance à essayer de faire du Spring et de l'Hibernate et à complètement ignorer les conventions, ce qui a comme conséquence d'annihiler tous les atouts de Grails. Groovy est un autre problème dans le sens où, présenté souvent comme du Java dynamique, un dev' Java aura tendance à faire du Java sans tirer parti des caractéristiques de Groovy. Un peu caricatural, mais vu trop souvent.

Autre détail, Grails est présenté comme un Framework Web, c'est vrai, mais il s'agit de toute la couche de présentation à lui seul pour une appli web.

Globalement, pour ceux qui connaissent ROR ou Django, Grails est un très bon équivalent dont la valeur ajoutée est de permettre la réutilisation de composants Java.
Avatar de martopioche martopioche
http://www.developpez.com
Membre éprouvé
le 27/10/2012 0:02
Citation Envoyé par rt15  Voir le message
Mais à quoi bon s'enliser à utiliser ces technologies qui ressemble autant à des limaces qu'à des usines à gaz ?

rt, à vous lire, j'ai l'impression que vous (votre équipe/boite/projet) avez pris des frameworks pour faire des frameworks, sans réellement évaluer l'outil ni sa pertinence. Cas trop courant hélas où les frameworks sont à la mode et il faut faire comme la mode... Ces technos utilisées à bon escient peuvent être très bénéfiques, mais si comme vous dites vous vous enlisez, il est judicieux de les dégager (vous en avez vous même fait l'expérience et apprécié le résultat) pour limiter l'effet néfaste et peut être les reprendre en vous les appropriant plus efficacement. Votre description de l'utilisation de Grails en est le parfait exemple (utiliser Grails juste pour de la configuration... yuk)
Avatar de Robin56 Robin56
http://www.developpez.com
Modérateur
le 27/10/2012 22:26
Citation Envoyé par alex_vino  Voir le message
Pourquoi ce post apparait-il dans les actualités?
Si c'est volontaire ca aurait été cool de présenter ses fonctionnalités et d'inclure le lien web du projet.
Merci.

Le post contenait bien un lien vers le site officiel de ce framework web : http://grails.org/

Néanmoins voici les fonctionnalités intéressantes pour moi de ce framework web :
- framework de développement rapide (comme Django ou Ruby On Rails) permettant de mettre en place rapidement une application simple et fonctionnelle
- découpage MVC clair qui permet de bien séparer les différentes logiques de l'application (des fichiers GSP comparable à des JSP pour la vue, des GroovyBean pour le modèle et les fichiers Groovy/Java entre les deux pour le contrôle)
- un modèle très light grâce à la syntaxe du Groovy
- s'adapte bien à un mode de développement par itération car le client peut rapidement avoir un visuel testable de l'application
- se base sur des frameworks Java qui ont fais leur preuve (Spring, Hibernate)
- possibilité d'ajouter des plugins créés par la communauté (intégration avec Birt, ...)

Je te conseille la vidéo sur le site officiel qui donne une bonne vision du principe : http://portal.sliderocket.com/vmware/what-is-grails

Vous pourriez par exemple insister sur :
  • depuis quand vous l'utilisez,
  • votre satisfaction,
  • le soutien de la communauté,
  • évolution des versions,
  • l'apprentissage du langage Groovy.

Depuis quand ? Je l'ai utilisé à l'époque de la 1.6 je crois pour une petite application de gestion et j'ai également vu son intégration au sein d'une application plus lourde où les contraintes de base de données étaient bien plus lourdes.

J'en avais été très satisfait même si l'intégration avec STS n'était pas encore optimale (depuis Grails 2.0, je crois que cette intégration est bien plus optimale). La prise en main était rapide pour tout développeur Java. Par contre, je n'ai pas trop étudié les contraintes de lenteur car l'application en question avait peu de contrainte volumétrique.

Je serais curieux également de savoir si Grails détient toujours le soutien d'une bonne communauté ou si la mode s'essouffle ? La communauté avait créé des modules bien pratiques à utiliser comme l'intégration avec Birt ou des générateurs de moteur de recherche interne, etc..

Du côté du Groovy je n'ai jamais été trop fan mais j'ai peu pratiqué. Là où je vois un gros plus cependant c'est du côté des GroovyBean, ça rend le modèle de donnée très lisible.
Offres d'emploi IT
Développeur confirmé .net
CDI
Mobiskill - Ile de France - Paris (75003)
Parue le 18/09/2014
Développeur php
CDI
Adoc Talent Management - Ile de France - Levallois Perret (92300)
Parue le 11/09/2014
Sr dev ops engineer / ingénieur(e) systèmes h/f
CDI
Talend - Ile de France - Suresnes (92150)
Parue le 16/09/2014

Voir plus d'offres Voir la carte des offres IT
 
 
 
 
Partenaires

PlanetHoster
Ikoula