web-dev-qa-db-fra.com

Que sont "Groovy" et "Grails" et quels types d'applications sont conçus pour les utiliser?

De nos jours, j'entends beaucoup parler de "Groovy on Grails" et je veux en savoir plus:

  • Qu'est-ce que Groovy?
  • Qu'est ce que le Graal?
  • Quels types d'applications sont construits avec Groovy sur Grails?
89
Rachel
  1. Qu'est-ce que Groovy on Grails?

    Il n'existe plus sous ce nom. C'est simplement appelé Grails maintenant.

  2. Qu'est-ce que Groovy?

    A l'origine, un langage dynamique pour la machine virtuelle Java. Cependant, depuis Groovy 2.0, le typage statique et dynamique est pris en charge.

  3. Qu'est ce que le Graal?

    Grails (anciennement connu sous le nom de "Groovy on Grails") est un cadre de programmation basé sur Groovy et inspiré de Ruby on Rails (il existe des différences, mais également de nombreuses similitudes). Comme RoR, Grails encourage le "codage par convention", les meilleures pratiques de développement et se veut très productif.

  4. Quels types d'applications sont construits en utilisant "Groovy sur Grails "?

    Grails est utilisé pour créer des applications Web qui s'exécutent sur la machine virtuelle Java.

  5. Quels sont les avantages de Groovy sur Grails?

    Productivité élevée, se concentrant sur les affaires plutôt que sur la plomberie. (Notez que je ne recommanderais pas d'utiliser Grails avec un modèle de données existant. La raison en est que Grails encourage une approche descendante dans laquelle le modèle de base de données ER résulte des classes de domaine. Si vous utilisez un base de données héritée, vous ne pouvez pas adopter cette approche. Vous devez mapper la base de données sur les classes de domaine, et la convention de dénomination ne correspondra probablement pas, ce qui rend nécessaire l'utilisation de fichiers de configuration ou d'annotations Hibernate. Si vous changez le flux de travail, cela peut devenir vraiment encombrant et vous finirez par perdre la plupart des avantages de Grails.)

  6. Pourquoi voudrait-on utiliser Groovy sur Grails quand nous avons des langages de programmation standard comme C/C++, Java/J2EE et .NET/C #?

    À cause du point 5.

174
Pascal Thivent

Groovy est un langage de programmation orienté objet pour la plate-forme Java. C'est un langage dynamique avec des fonctionnalités similaires à celles de Python, Ruby, Perl et Smalltalk. Il peut être utilisé comme langage de script pour la plate-forme Java. Groovy a une syntaxe semblable à Java et fonctionne de manière transparente avec le bytecode Java.

Les autres caractéristiques comprennent:

  • Courbe d'apprentissage facile
  • Prise en charge de langues spécifiques à un domaine
  • Syntaxe compacte
  • Prise en charge de la frappe dynamique
  • Puissantes primitives de traitement
  • Facilité de développement d'applications Web
  • Prise en charge des tests unitaires.

Grails est une infrastructure d'application Web open source qui utilise le langage de programmation Groovy. Il est destiné à être un cadre hautement productif en suivant le paradigme du "codage par convention", en fournissant un environnement de développement autonome et en masquant une grande partie des détails de la configuration au développeur.

Comme Rails, Grails semble être ce que j'appelle "Fortement Grainé". Si vous faites les choses à la manière de Grails, le développement est facile (et généralement assez rapide). Le cadre a tendance à privilégier la plupart des choses. D'autre part, si vous devez aller à contre-courant, vous aurez une période assez difficile.

Et ne dites pas Groovy on Grails (n’existe pas), pour des raisons qui font référence à this blog.

22
Jainendra

Grails est directement analogue à Ruby on Rails , mais fonctionne avec Groovy. Qu'est-ce que Groovy ? C'est un langage de script qui s'exécute sur la machine virtuelle Java (JVM). 

Vous pouvez donc utiliser les bibliothèques Java que vous avez déjà ou qui sont disponibles (puisqu'elles sont compilées en bytecode et donc exécutées sur une machine virtuelle), plus la puissance de la machine virtuelle (pour le garbage collection, la vitesse via la compilation JIT, etc.) et la concision de Groovy. La courbe d'apprentissage pour qu'un programmeur Java apprenne Groovy est supposée être assez petite (exploitant ainsi le nombre considérable de programmeurs Java disponibles).

C'est une façon très différente de créer des applications Web par rapport aux mécanismes standard de programmation de servlets, JSP, Java Server Faces, etc. en Java. Grails (comme Ruby on Rails) promet un environnement de développement plus dynamique et itératif que les mécanismes de développement standard (que ce soit vrai en pratique, je ne peux pas conseiller)

11
Brian Agnew

Cadre Grails- MVC pour le développement d’une application Web et d’une plate-forme prête à coder avec DRY (ne vous répétez pas) construit au sommet de Spring + Hibernate. La plate-forme Grails prend en charge l'infrastructure et les dépendances pour exécuter une application Web de sorte que les développeurs puissent se concentrer sur la création des fonctionnalités du produit. Grails - un excellent cadre pour les organisations en démarrage afin de lancer le produit du mode développement au mode production.

0
Pavithra R