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