Qualiopi

Kotlin : Développement Moderne et Multiplateforme (JVM, Native, JS)

De la syntaxe concise à l'interopérabilité Java, gérez la programmation fonctionnelle, les coroutines et les tests pour des applications robustes.

4 jours
2 800 € HT
Kotlin 2.0
JVM
Coroutines
JUnit 5
Mockito
KMP
Gradle

Intéressé par cette formation ?

Contactez-nous pour planifier une session.

Demander un devis

Objectifs pédagogiques

  • Maîtriser la syntaxe et les paradigmes objet et fonctionnel de Kotlin.
  • Éliminer les erreurs de type NullPointerException grâce au système de types.
  • Optimiser les performances via les séquences et les fonctions inline.
  • Développer des applications asynchrones performantes avec les coroutines.
  • Savoir concevoir des API flexibles avec les génériques avancés et la délégation.

Programme

Jour 1 : Fondamentaux et Syntaxe Expressive

  • Introduction : Historique (JetBrains), philosophie de conception et interopérabilité 100% avec Java.
  • Les Bases : Inférence de type, mutabilité (var vs val), constantes (const val) et types primitifs.
  • Sécurité Null-Safety : Types nullables (?), appels sécurisés (?.), opérateur Elvis (?:) et assertion non nulle (!!).
  • Structures de contrôle : Expressions if (ternaire), boucles for, while et la puissance du when.
  • Atelier : Exercices de syntaxe de base et manipulation de chaînes (Templates).

Jour 2 : Fonctions, Programmation Fonctionnelle et Séquences

  • Fonctions : Citoyens de premier ordre, paramètres par défaut, arguments nommés et fonctions d'extension.
  • Concepts Avancés : Fonctions infix, récursivité de queue (tailrec), fonctions inline et surcharge d'opérateurs.
  • Lambdas & Ordre Supérieur : Syntaxe lambda, captures de variables et DSL.
  • Séquences : Évaluation paresseuse vs Collections standard, chaînage d'opérations et performances.
  • Atelier : Développement d'un petit moteur de calcul utilisant des fonctions d'ordre supérieur et des séquences.

Jour 3 : Programmation Orientée Objet Moderne

  • Classes et Héritage : Classes final par défaut, mot-clé open, constructeurs primaires et secondaires.
  • Spécialisations : data class (POJO), sealed class (hiérarchies restreintes), enum class et object (Singletons).
  • Propriétés & Délégation : lateinit, initialisation paresseuse (by lazy) et modificateurs de visibilité (internal, etc.).
  • Génériques & Réflexion : Covariance (out), contravariance (in), fonctions réifiées et introspection dynamique.
  • Atelier : Modélisation d'un système métier complexe avec classes scellées et génériques.

Jour 4 : Concurrence, Écosystème et Qualité

  • Coroutines : Threads légers, fonctions suspendues (suspend), launch vs async et contextes.
  • Gestion du Cycle de Vie : Job, Scope (Global vs Local) et Dispatchers (Main, IO, Default).
  • Robustesse : Gestion des exceptions et fonctions Fail-Fast (require, check, error).
  • Tests unitaires : Utilisation de JUnit 5 et Mockito adaptés à Kotlin.
  • Atelier Final : Création d'un client HTTP asynchrone avec gestion d'erreurs et tests automatisés.

Prérequis

  • Maîtrise de l'algorithmique et d'un langage de programmation orienté objet (Java, C#).
  • Environnement technique : IntelliJ IDEA, JDK 21+ et Git installés.

Public cible

  • Développeurs Java souhaitant migrer vers Kotlin.
  • Développeurs Android ou Fullstack visant le multiplateforme (KMP).

Prêt à vous former ?

Contactez-nous pour obtenir un devis personnalisé.