Kotlin



Objectifs, programme, validation de la formation

Objectifs

  • Comprendre et écrire du code Kotlin
  • Connaître la bibliothèque standard Kotlin
  • Faire de l’asynchrone avec les Coroutines
  • Ecrire son propre DSL en Kotlin

Description, programmation

Jour 1 : Fondamentaux & POO
Introduction

  • Histoire et raison d’être de Kotlin
  • Installer l’environnement de développement
    Fondamentaux de Kotlin
  • Type de données
  • Mutabilité et nullabilité des variables
  • Contrôle de flux (if / when / while / for)
  • const
  • Les fonctions
  • Les packages
    Mise en pratique : _création et structure d’un projet Kotlin_
    Programmation Orientée Objet
  • Héritage et Polymorphisme
  • Visibilité des variables
  • Classe abstraite et Interface
  • Data Class, Enum Class, Sealed Class
  • Nested Class et Inner Class
  • Companion Object
    Mise en pratique : _manipulation des différents types de Kotlin_
    Cohabitation avec Java
  • Appel Java depuis Kotlin
  • Appel Kotlin depuis Java
  • Fonctionnement de la chaîne de compilation et limitations

Jour 2 : Le fonctionnel avec Kotlin
Les fonctions en Kotlin

  • High order function
  • Lambdas
  • Fonctions d’extension
  • let, apply, with, run, use
  • Implémentation des lambdas et fonction d’extension
    Gestion d’erreurs
  • Exceptions
  • Préconditions
  • Différences avec Java
    Mise en pratique : utilisation de la programmation fonctionnelle en Kotlin
    Particularités de Kotlin
  • elvis operator
  • lazy init vs late init
  • Collections mutable / immutables, filters, etc
  • Déstructuration de variables
  • Getter / Setter et Backing Fields
    Mise en pratique : manipulation des Collections et syntaxe spécifique à Kotlin
    Tester avec Kotlin
  • Mockito Kotlin
  • Expecting exceptions
  • Matchers
  • Test Data
  • Inspectors
    Mise en pratique : création de tests en TDD

Jour 3 : Notions avancées
Generics

  • Paramètre de type
  • Variance & Invariance
  • Type erasure
  • Type reified
    Mise en pratique : programmation de classes générique custom
    Ecrire un DSL avec Kotlin
  • Utilisation des lambdas
  • Utilisation des fonctions d’extension
  • Le Builder pour construire ses objets
  • DslMarker pour vérifier la déclaration
    Mise en pratique : projet de DSL
    Coroutines
  • Threads & Coroutines
  • Exécuter en asynchrones
  • Notion de Scope
  • Faire de l’asynchrone en lisant de l’impératif
  • Mot clé suspend
    Mise en pratique : projet de dispatch d’opération asynchrone

Validation et sanction

Attestation d’acquis ou de compétences ;Attestation de suivi de présence

Type de formation

Perfectionnement, élargissement des compétences

Niveau de sortie sans niveau spécifique


Durée, rythme, financement

Durée 21 heures en centre
Durée indicative : 2 jours

Modalités de l'alternance FOAD : 21 h

Conventionnement Non

Conditions d'accès

Niveau d'entrée sans niveau spécifique

Conditions spécifiques et prérequis - Expérience d'au moins un an dans autre langage de programmation ( Java, Python PHP, etc) - Ordinateur portable à apporter

Inscription

Contact renseignement Mme Nathalie ROUESNEL

Téléphone 01 84 17 38 96


Périodes prévisibles de déroulement des sessions

Session débutant le : 27/09/2021

Adresse d'inscription
17 Rue Galilée 75016 Paris 16e

Lieu de formation


Organisme de formation responsable