Kotlin est désormais le langage préféré pour les développeurs d’applications Android. En raison de sa compatibilité presque parfaite avec Java, Kotlin peut être utilisé pour créer des applications mobiles natives sur Android ainsi que des applications Web. Ce cours vous permettra de vous initier au langage Kotlin.

Description

Durée : 28 heures
Modalités techniques d’évaluation : Évaluation des connaissances par QCM, évaluation des compétences au travers de travaux pratiques et de cas d’études. Contrôle de l’acquisition des connaissances et des compétences pendant la formation par le formateur.
Moyens pédagogiques : Apports théoriques réalisés en classe et complétés par de nombreux travaux pratiques permettent aux participants de disposer d’une expérience concrète. A l’issue des sessions magistrales, réalisation de cas d’études tutorés.

Objectifs pédagogiques

À l’issue de la formation, le participant sera en mesure de :

  • Maîtriser les bases de Kotlin
  • Comprendre la Programmation Orientée Objet avec Kotlin
  • Mettre en œuvre la programmation fonctionnelle
  • S’initier aux applications Android sous Kotlin
PROGRAMME DE FORMATION

Mise en œuvre

  • Utilisation des outils en ligne de commande.
  • REPL, runtime Kotlin. Kotlin et Gradle.
  • IntelliJ.

Travaux pratiques
Coder avec VI et compiler en ligne de commande. Créer un projet sous IntelliJ.

Les bases de Kotlin

  • Val et Vars, inférence de type, types de base.
  • Commentaires, packages, imports.
  • Templates de string, ranges, boucles.
  • Gestion des exceptions.
  • Instanciation de classes, égalité référentielle et structurelle.
  • Le This et les visibilités. Les flux de contrôles.
  • Le Null, l’expression when, la hiérarchie des types.

Travaux pratiques
Ecritures d’algorithmes classiques.

La Programmation Orientée Objet

  • Rappels sur la POO.
  • Classes, niveaux d’accès, classes imbriquées, enum, méthodes statiques et objets compagnons.
  • Les propriétés. Les interfaces.
  • L’héritage. Les visibilités.
  • Classes abstraites, classes scellées.
  • Redéfinition, Polymorphisme.
  • Délégation, data classes, déclaration déstructurée.

Travaux pratiques
Créer une application mettant en avant les possibilités orientées Objet du langage.

Null-safety, réflexion, annotations

  • Types nullable, smart-cast, safe null access.
  • L’opérateur elvis, safe casting, optional.
  • La réflexion. Les annotations.

Travaux pratiques
Utilisation des annotations et découverte runtime.

Les génériques

  • Fonctions génériques. Types génériques.

Les fonctions et la programmation fonctionnelle

  • Fonctions et fonctions littérales. Fonctions d’extension.
  • Paramètres par défaut et paramètres nommés.
  • Surcharge des opérateurs. La récursion.
  • Fonctions standards, génériques, pures.
  • Java en Kotlin, Kotlin en Java.
  • Fonctions de premier ordre et fermetures. Fonctions anonymes et références de fonctions.
  • Techniques de programmation fonctionnelle. DSL perso.

Travaux pratiques
Mise en œuvre de la programmation fonctionnelle.

Les collections

  • Hiérarchie de classes. Arrays, Lists, Maps, Sets.
  • Lecture seule.
  • Index et séquences.

Travaux pratiques
Modification des conteneurs utilisés précédemment.

Kotlin et Android

  • Android Studio et un projet Kotlin.
  • Classes de base du framework.
  • Interfaces utilisateur. Le modèle de composants.

Travaux pratiques
Créer et émuler une application Android en Kotlin.