Prenez contact avec nous
 Durée 21 heures

Plan du cours

Introduction à Groovy

  • Introduction à Apache Groovy
  • Historique et évolution de Groovy
  • Groovy et la Machine Virtuelle Java
  • Groovy comme langage de script et de programmation
  • Cas d'usage courants de Groovy
  • Groovy dans les projets basés sur Java
  • Avantages de l'utilisation de Groovy aux côtés de Java
  • Présentation de l'application d'exemple

Présentation des fonctionnalités de Groovy

  • Typage dynamique et typage statique optionnel
  • Capacités de script de Groovy
  • Syntaxe concise et améliorations du langage
  • Fermetures (closures) et programmation fonctionnelle
  • Collection Groovy et API enrichies
  • Surcharge d'opérateurs
  • Interpolation de chaînes
  • Navigations sûres et opérateur Elvis
  • Développement de langages spécifiques à un domaine (DSL)
  • Capacités de méta-programmation
  • Groovy Development Kit (GDK)

Configuration de l'environnement de développement

  • Installation et configuration de Groovy
  • Travail avec les distributions Groovy
  • Utilisation de Groovy depuis la ligne de commande
  • Exécution de scripts Groovy
  • Configuration d'un IDE
  • Création d'un projet Groovy
  • Gestion des dépendances
  • Intégration de Groovy dans les projets Java
  • Configuration de l'environnement de développement pour les conteneurs

Écriture de votre première application Groovy

  • Création d'un script Groovy de base
  • Compréhension de la structure d'un script Groovy
  • Exécution d'applications Groovy
  • Utilisation de l'instruction println
  • Travail avec les variables
  • Définition de méthodes
  • Ajout de commentaires et de documentation
  • Construction d'une simple application d'exemple
  • Compilation du code Groovy

Familiarisation avec la syntaxe de Groovy

  • Instructions et expressions Groovy
  • Points-virgules et éléments de syntaxe optionnels
  • Variables et constantes
  • Typage dynamique et explicite
  • Littéraux de chaînes et interpolation
  • Chaînes monolignes et multilignes
  • Opérateurs et expressions
  • Opérateurs Groovy et raccourcis
  • Gestion des valeurs nulles
  • Navigations sûres
  • Opérateur Elvis
  • Affectation multiple

Utilisation des types de données et des collections Groovy

  • Types primitifs et objets
  • Nombre et opérations numériques
  • Chaînes et caractères
  • Booléens
  • Dates et valeurs liées au temps
  • Listes
  • Cartes (Maps)
  • Ensembles (Sets)
  • Intervalls (Ranges)
  • Boucle sur les collections
  • Transformations de collections
  • Filtrage et recherche dans les collections
  • Tri et groupement des données
  • Méthodes de collection Groovy

Utilisation des fermetures (closures) de Groovy

  • Compréhension des fermetures
  • Syntaxe des fermetures
  • Paramètres des fermetures
  • Paramètres implicites des fermetures
  • Appel des fermetures
  • Fermetures en tant que variables
  • Passe des fermetures à des méthodes
  • Renvoie des fermetures depuis des méthodes
  • Fermetures et collections
  • Utilisation des fermetures pour le filtrage et la transformation
  • Portée et capture de variables
  • Fermetures pour la programmation fonctionnelle
  • Motifs pratiques de fermetures

Contrôle du flux du programme avec les structures de contrôle Groovy

  • Instructions conditionnelles
  • if et else
  • Conditions imbriquées
  • Instructions switch
  • Boucles et itération
  • for, while, et do-while
  • Intervalls dans les boucles
  • Utilisation des fermetures pour l'itération
  • break et continue
  • Gestion des exceptions
  • try, catch, et finally
  • Lancer des exceptions personnalisées
  • Fonctionnalités spécifiques à Groovy pour le contrôle du flux

Mise en œuvre de la programmation orientée objet (POO) dans votre application

  • Définition des classes Groovy
  • Propriétés et champs
  • Constructeurs
  • Méthodes
  • Encapsulation
  • Héritage
  • Interfaces
  • Classes abstraites
  • Polymorphisme
  • Surcharge de méthodes
  • Surcharge de méthodes
  • Getters et setters Groovy
  • Traits
  • Énumérations (Enums)
  • Création de modèles de domaine pour l'application d'exemple

Méta-programmation à l'exécution et à la compilation

  • Introduction à la méta-programmation en Groovy
  • Invocation dynamique de méthodes
  • Objets Expando
  • Manipulation de méthodes et de propriétés à l'exécution
  • Catégories et extensions
  • MetaClass
  • Ajout dynamique de méthodes
  • Interception des appels de méthodes
  • Transformations à la compilation
  • Transformations AST courantes
  • Utilisation responsable de la méta-programmation
  • Exemples pratiques de méta-programmation

Travail avec les constructeurs (Builders)

  • Introduction au modèle de constructeur (builder pattern)
  • Constructeurs Groovy et leur objectif
  • Création de structures hiérarchiques
  • Constructeurs XML
  • Constructeurs JSON
  • Génération de HTML et de balisage
  • Configuration de la sortie du constructeur
  • Utilisation des fermetures avec les constructeurs
  • Création de constructeurs personnalisés
  • Application des constructeurs dans les langages spécifiques à un domaine

Accès à une base de données avec Groovy

  • Concepts de connectivité de base de données
  • Connexion des applications Groovy aux bases de données
  • JDBC et API de base de données Groovy
  • Configuration des connexions à la base de données
  • Exécution de requêtes SQL
  • Lecture des résultats de requête
  • Insertion, mise à jour et suppression de données
  • Requêtes paramétrées
  • Transactions
  • Gestion des exceptions de base de données
  • Travail avec Groovy SQL
  • Construction des fonctionnalités de base de données pour l'application d'exemple

Appel de Java depuis Groovy

  • Interopérabilité entre Groovy et Java
  • Utilisation des classes Java dans Groovy
  • Appel de méthodes Java
  • Travail avec les bibliothèques Java
  • Utilisation des collections Java
  • Gestion des exceptions Java
  • Comparaison entre la syntaxe Groovy et la syntaxe Java
  • Appel du code Groovy depuis Java
  • Mélange des fichiers source Groovy et Java
  • Intégration de Groovy dans des applications Java existantes
  • Meilleures pratiques d'interopérabilité

Connexion aux services et applications REST

  • Introduction aux API REST
  • Concepts HTTP pour les applications Groovy
  • Envoi de requêtes HTTP
  • Gestion des opérations GET, POST, PUT et DELETE
  • Travail avec les paramètres et en-têtes de requête
  • Processing des réponses JSON
  • Construction de corps de requête JSON
  • Gestion de l'authentification
  • Gestion des erreurs HTTP
  • Consommation de services REST externes
  • Intégration de la fonctionnalité REST dans l'application d'exemple

Travail avec le GDK

  • Introduction au Groovy Development Kit
  • API Java enrichies
  • Travail avec les chaînes
  • Collections enrichies
  • Opérations sur les fichiers et les répertoires
  • Lecture et écriture de fichiers
  • Travail avec les flux
  • Processing XML
  • Processing JSON
  • Travail avec les dates et les heures
  • Méthodes utilitaires et API de commodité
  • Sélection des fonctionnalités GDK appropriées

Tests unitaires d'une application Groovy

  • Introduction aux tests des applications Groovy
  • Concepts du développement piloté par les tests
  • Écriture de tests unitaires
  • Utilisation de frameworks de test
  • Structuration des classes de test
  • Assertions
  • Test des classes et des méthodes
  • Test des fermetures
  • Test des exceptions
  • Simulation des dépendances (Mocking)
  • Tests pilotés par les données
  • Test des fonctionnalités liées à la base de données
  • Test des intégrations REST
  • Exécution et analyse des résultats des tests

Dépannage

  • Diagnostic des erreurs de syntaxe Groovy
  • Débogage des erreurs d'exécution
  • Résolution des problèmes de compilation
  • Dépannage des problèmes d'interopérabilité Java
  • Débogage des fermetures et des opérations sur les collections
  • Investigation des problèmes de connectivité de base de données
  • Dépannage des intégrations d'API REST
  • Débogage du comportement de la méta-programmation
  • Utilisation de la journalisation et des outils de diagnostic
  • Exercices pratiques de dépannage

Résumé et conclusion

  • Révision des fondamentaux du langage Groovy
  • Révision de la syntaxe, des types et des collections
  • Révision des fermetures et de la programmation fonctionnelle
  • Révision de la programmation orientée objet
  • Révision de la méta-programmation et des constructeurs
  • Révision de l'intégration de bases de données et REST
  • Révision de l'interopérabilité entre Groovy et Java
  • Révision des capacités du GDK
  • Révision des pratiques de test
  • Meilleures pratiques pour le développement d'applications Groovy
  • Exercice pratique final
  • Questions et discussion

Pré requis

  • Expérience en programmation dans n'importe quel langage de programmation

Nombre de participants


Prix par participant

Nos clients témoignent (1)

Cours à venir

Catégories Similaires