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

Le , par Mickael Baron, Responsable 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 - Membre émérite https://www.developpez.com
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 - Membre confirmé https://www.developpez.com
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 - Membre confirmé https://www.developpez.com
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 - Membre confirmé https://www.developpez.com
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 - Responsable Java https://www.developpez.com
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.
Avatar de drieu13 drieu13 - Membre averti https://www.developpez.com
le 09/10/2017 à 16:48
Bonjour,

Même si la discussion date un peu, je vais apporter ma petite contribution.
J'utilise régulièrement Grails dans le cadre de petits projets d'entreprise et il convient parfaitement à mes cas d'utilisations.
Pour exemple, voici un projet que j'ai réalisé dans mes missions précédentes.Nous avions un grand nombre de petites applications sur beaucoup de serveurs différents.Il était parfois difficile de se rappeler sur quels serveurs étaient l'application et ce qu'elle faisait.J’ai donc réalisé une application pour avoir une vue globale de l’architecture de notre SI.Des scripts Shells récupéraient des fichier httpd.conf et les stocker dans un répertoire.Mon application via un formulaire les récupérer pour les parser. Ils étaient alors intégrer et on pouvait afficher la répartition des applications sur les différents serveurs ainsi qu'effectuer des recherches et même repérer les erreurs sur les fichiers de configuration.
Pour moi, un des intérêt de Grails est sa rapidité de mise en place.On peut rapidement se créer un projet et avoir un rendu.De plus en utilisant des framework de présentation comme Bootstrap, on peut rapidement développer la partie IHM. Je trouve que c’est très adapter pour les applications métier en entreprise.L’autre avantage est que l’on peut tester des technos sympa : Groovy, Gorm…
Avatar de Mickael Baron Mickael Baron - Responsable Java https://www.developpez.com
le 11/10/2017 à 10:56
Damien,

C'est cool ton projet. Il est opensource ?

Tu ne veux pas écrire un tutoriel sur l'utilisation de Grails dans ce type d'application ?

Mickael
Avatar de drieu13 drieu13 - Membre averti https://www.developpez.com
le 11/10/2017 à 14:09
Bonjour Mickaël,

c'était un projet entreprise.Il faudrait que je le reprenne et l'adapte.A réfléchir mais pourquoi pas.

J'avais pensé contribuer à la FAQ sur Grails. Qu'en dis-tu ?

Sinon, je ne sais pas si tu as vu mais j'ai proposé de mettre à jour l'actualité de Grails. T'en penses quoi ?

Damien,
Avatar de Mickael Baron Mickael Baron - Responsable Java https://www.developpez.com
le 11/10/2017 à 14:49
Damien,

Tout à fait d'accord.

J'ai préférais t'envoyer un message privé pour t'expliquer comment t'y prendre

Mickael
Offres d'emploi IT
Développeur Drupal H/F Lyon
Smile - Rhône Alpes - Lyon (69000)
Conception administration CRM
IDCONTACT - Ile de France - Paris (75003)
Développeur IT (H/F)
OUTSCALE - Ile de France - Saint-Cloud (92210)

Voir plus d'offres Voir la carte des offres IT
Responsables bénévoles de la rubrique Java Web : Mickael Baron - Robin56 -