Grails

Définition

Grails est un framework web full-stack open-source pour la Java Virtual Machine (JVM), écrit en Groovy par Jason Rudolph en 2005. Grails apporte la productivité de Rails à la JVM. Il utilise Groovy et a été promu au statut de projet Apache de niveau supérieur (Apache Grails 7).

Fonctionnalités clés

  • Convention over configuration : Minimal de code boilerplate, valeurs par défaut raisonnables
  • GORM : Couche de mappage objet-relationnel (prend en charge Hibernate, MongoDB, Neo4j)
  • Scaffolding : Auto-génération d’interfaces CRUD et de contrôleurs
  • Grails CLI : Outils en ligne de commande pour la génération et la gestion de projets
  • Intégration Spring Boot : Basé sur Spring Boot pour le déploiement moderne
  • Support RESTful : Développement facile d’API JSON/XML
  • Écosystème de plugins : Des centaines de plugins pour les fonctionnalités courantes

Architecture

  • Pattern MVC : Contrôleurs, Vues (GSP/Thymeleaf), Classes de domaine
  • GORM : ORM orienté domaine avec plusieurs backends
  • Spring Framework : Injection de dépendance et AOP
  • Hibernate : Fournisseur de persistance principal
  • Gradle : Gestion de build et des dépendances

Versions majeures

|| Version | Année | Fonctionnalités clés | ||———|——|————–| || Grails 1 | 2007 | Version initiale, GORM, scaffolding | || Grails 2 | 2010 | Spring Security, pipeline d’actifs | || Grails 3 | 2015 | Intégration Spring Boot, build Gradle, GORM 5 | || Grails 4 | 2019 | Spring Boot 2, GORM 6, support Kotlin | || Grails 5 | 2021 | Spring Boot 3, images natives GraalVM, GORM 8 | || Grails 7 | 2025 | Apache TLP, alignement complet Spring Boot 3.x, license-clean |

Migration vers Apache

Grails a été migré vers la Apache Software Foundation à partir de 2023 et a été promu au statut de projet de niveau supérieur en 2025. Cette migration a impliqué :

  • Suppression des dépendences non sous licence Apache
  • Nettoyage des en-têtes de licence
  • Établissement de la structure de gouvernance Apache
  • Grails 7 est la première publication sous la Apache License 2.0

Licence

Grails est publié sous la Apache License 2.0, une licence open-source permissive approuvée par l’OSI. Il est libre d’utilisation, de modification et de distribution pour tout usage, y compris commercial.

Voir apache/grails-core pour plus de détails.

Cas d’utilisation

  • Applications web Java d’entreprise
  • Backends API RESTful
  • Développement rapide d’applications sur la JVM
  • Microservices avec Spring Boot
  • Applications nécessitant la persistance Hibernate/MongoDB/Neo4j

Frameworks associés