(+33)1 55 60 76 72

Groovy and Grails

Accueil » Formations » Développement » Groovy and Grails
1650 € HT 3 jours PR-GROO

Développer une application en Groovy et maîtrisez les fondamentaux du framework RAD Grails

Programme

Introduction à Groovy

  • Présentation de Groovy
  • Groovy vs Java
  • SDK Groovy
  • Compilation Groovy
  • Installer Groovy

Classe & POGOs

  • Groovy Beans
  • POJO vs POGO
  • Passer de Java à Groovy

Bases du langage

  • Types
  • Opérateurs
    • Redéfinition des opérateurs
  • Chaines de caractères
    • String
    • GString
    • Multiline String/Gstring
    • Slashy Strings
  • Collections
  • Closures
    • Définition
    • Passer une closure en paramètre d’une méthode
    • Assigner une closure à une variable
    • Ajouter des paramètres à une closure
    • La variable “it”
    • Utiliser une méthode d’instance comme une closure
    • Manipuler sur les collections/maps avec une closure
    • Les propriétés d’une closure
    • this, delegate, owner dans une closure

Travailler avec Groovy

  • Coercition de type avec Groovy
  • == en Groovy
  • Naviguer dans des objets sans craindre “null”
  • Opérateur Elvis
  • Manipuler des expressions régulières
  • Opérateur de propagation
  • Opérateur “as”
  • Les APIs utiles de Groovy
  • Intégrer Groovy dans du code Java

Métaprogrammation avec Groovy

  • Dynamique vs Statique
  • Le MOP (Meta Object Protocol) de Groovy
  • EMC (ExpandoMetaClass)
  • EMC & Hooks
  • Pattern Intercept-Cache-Invoke

Annotations Groovy

  • @Singleton, @Delegate, @Immutable, @PackageScope, @InheritConstructors, …
  • @Canonical, @TupleConstructor, @EqualsAndHashCode, @ToString
  • @TimedInterrupt, @ThreadInterrupt
  • @CompileStatic, @TypeChecked

Tests avec Groovy

  • GroovyTestCase
  • Groovy et JUnit 4
  • Tester du code Java en Groovy
  • Coercition de Map
  • Coercition de Closure
  • MockFor, StubFor

Introduction à Grails

  • Qu’est-ce que Grails ?
  • Pourquoi Grails ?
  • Fondations de Grails
  • Installer Grails
  • Créer un projet Grails
  • Anatomie d’un projet Grails
  • Configurations par défaut
  • Commandes utiles
  • Les environnements de développement

Grails pour faire du CRUD

  • Créer une entité métier
  • Créer un jeux de données initial
  • Générateur statique
  • Générateur dynamique

Entités métiers

  • Principe des ORMs
  • GORM
    • Différences avec Hibernate
    • Conventions
    • Configurations
    • Mappings
    • Contraintes
    • Messages d’erreurs
    • Opérations CRUD
    • Requêtage (dynamique, par critères, hql, …)
  • Tests des entités métiers

Contrôleurs Web

  • MVC avec Grails
  • Créer un contrôleur
  • Redirect, Render, Return
  • Objets implicites
  • Répondre avec du JSON, XML
  • Routage
  • Objets Command
  • Validation des contraintes
  • Travailler avec les erreurs
  • Différents scopes
  • Intercepteurs
  • Filtres

Vue Grails

  • GSP (Groovy Server Pages)
  • Tags standards
  • Créer un Tag
  • Layouts
  • Templates
  • AJAX
  • Formulaires

Services

  • Architecture applicatives Grails et la place des services
  • Gérer les transactions
  • Injection de dépendance

Plugins Grails

  • Les points d’extension
  • Créer un plugin
  • Configurer Grails à l’exécution
  • Travailler avec des plugins