Présentation de Kotlin
Pourquoi Kotlin ?
Historique
Cas d’utilisation
Fonctionnement global
Comparaison avec les autres langages
Installation
Mise en place des outils pour le développement
Les bases
La syntaxe :
Commentaires
Conventions de codage
Les expressions idiomatiques
Les fonctions
Signatures
Le corps
Les paramètres
Les valeurs de retour
Fonctionnement en mémoire
Les variables
Fonctionnement en mémoire
Le typage
Mutable et immuable
Les chaînes de caractères
Les structures de contrôle
Conditions
Boucles
Les sauts (break/continue/return)
La programmation orientée objet
Les classes : 1
Qu’est-ce qu’une classe ?
Fonctionnement en mémoire
Les attributs et les propriétés.
La visibilité
Les méthodes
Les méthodes equals, toString, hashCode, copy
Les champs « static »
Les extensions
Bonnes pratiques
Les packages
Transtypage
Les exceptions
Les classes : 2
Héritage
Interfaces
Classes abstraites
Le design pattern « délégué »
Bonnes pratiques pour structurer son code
Les collections
Structurer son code
Architecturer son code pour les évolutions à venir
Encapsulation
Polymorphisme
Principes SOLID et les autres (DRY, KISS, YAGNI, SOC)
Éléments avancés
Les classes : 3
Les génériques
Les classes internes
Les classes anonymes
Les expressions lambdas
Surcharge des opérateurs
Annotations
L’Introspection et la programmation réflexive
Présentation de la programmation réactive
Sucres syntaxiques de Kotlin
Kotlin et les différents environnements
Kotlin dans l’univers de Spring et JEE
Kotlin et Android