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