+33 (0)1 53 89 99 93 info@xebia-training.fr

JVM/Scala

 

Formation Kotlin

Avec Adrien Kvaternik et Benjamin Lacroix

2 jours, soit 14 heures

Cette formation intensive de 2 jours a été conçue par les consultants Android de Xebia. La formation Kotlin est destinée aux développeurs Android ayant déjà une expérience en Java et désirant découvrir le langage Kotlin.

Kotlin est un langage sûr, moderne et concis, 100% interopérable avec Java, permettant aux développeurs de faciliter leur développement d’applications Android.

Programme

Jour 1

Les bases de Kotlin

Concepts principaux du langage
    • Mutabilité / Immutabilité
      • Déclarer une variable mutable
      • Déclarer une variable immutable
    • Nullabilité typée
      • Déclarer une variable non nulle
      • Déclarer une variable nullable
      • Tester la nullabilité d’une variable
      • Et avec Java ?
    • Types primitifs et types de base
      • Types primitifs
      • Any et Any?
      • Unit
      • Nothing
    • Collections et arrays
      • Immutable
      • Mutable
    • Flux de contrôle
      • if
      • for
      • while
      • when
Les structures du langage
    • Fonctions
      • Déclarer une fonction
      • Fonction top-level
      • Paramètres et retour
      • Valeur par défaut d’un paramètre
      • Fonctions locales
      • Fonctions d’extension
        • Déclaration
        • Utilisation en Kotlin
        • Utilisation en Java
    • Classes
      • Déclarer une classe
      • Ajouter des propriétés via constructeur
      • Ajouter des propriétés dans la classe
      • Constructeurs
        • Primaire
        • Bloc init
        • Secondaire
      • Créer une instance
      • Accéder aux propriétés
      • Propriétés lateinit
      • Propriétés d’extension
      • Data classes
      • Héritage
      • Companion object
      • Singletons et objets anonymes
      • Caster
    • Interfaces
      • Déclarer une interface
      • Implémenter une interface
    • Énumérations
      • Déclarer une énumération
      • Gérer les cas avec when
        • Cas simple
        • Combinaison de cas
    • Sealed classes
      • Déclaration
      • Utilisation avec when

Adopter Kotlin

Redéfinition d’opérateurs et autres conventions
  • Opérateurs arithmétiques
  • Opérateurs de comparaison
    • equals
    • compareTo
  • Conventions pour les collections et les ranges
    • get, set
    • in
    • rangeTo
    • iterator
  • Déclarations destructurées
    • componentN
  • Délégation de propriétés$
    • by
    • getValue, setValue
    • lazy
    • Delegates.observable
    • Enregistrer les valeurs de propriétés dans une map
Types génériques
    • Fonctions génériques
    • Contraintes sur les types génériques
      • Unique
      • Multiples
      • Imposer la non-nullité d’un type générique
    • Classes génériques
    • Type générique réifié
      • Effacement de type
      • reified
    • Variance
      • Covariance (out)
      • Contre-variance (in)
      • Variance côté client
      • Projection étoile (*)
Fonctions d’ordre supérieur
    • Type d’une lambda
    • Accès aux variables du scope
    • Référence aux membres avec ::
    • Passer une lambda à une fonction
    • Retourner des lambdas
    • Utilisation en Java
      • Lambdas
      • FunctionN<>
    • Fonctions inline
      • Notation
      • Principe
      • Restrictions
    • Flux de contrôle
      • return
      • Labels
    • APIs fonctionnelles pour les collections
      • filter, map
      • all, any, count, find
      • flatMap
    • Séquences
      • Intérêt
      • Conversion de séquence
      • Créer une séquence
    • Lambdas avec receveur
      • with
      • apply

Jour 2

Mise en Pratique / TD

Développement d’une application intégrant les concepts vus lors de la formation théorique :

  • Développement d’une application de récupération de prévisions météo
  • Mise en place d’une architecture MVP
  • Connaissances basiques en Android requises

Nous aborderons également l’aspect qualité d’un projet via l’utilisation d’outils et de bibliothèques dédiées, par exemple :

  • Intégration de Detekt
  • Tests avec Spek, Kluent et Mockito
Take away
  • Résumé des concepts clés de Kotlin
  • Remplacer Groovy par Kotlin dans les scripts Gradle
  • Kotlin sur iOS
  • Kotlin trans-compile en JavaScript
  • Conférences : Kotlin Conf et Kotlin Paris Meetup

Objectif

Découvrir le langage Kotlin. Être en mesure de développer une application Android avec Kotlin.

Méthodes pédagogiques

Présentation théorique des grands concepts, accompagnée d’exemples concrets.
Application Android pour mettre en pratique les éléments vus lors de la présentation théorique.

Tarif HT

Inter :  1500 €

Intra : Selon demande

Prochaines dates de formation

Date à venir

Biographie

Adrien Kvaternik

Adrien Kvaternik, développeur Android de plus de 4 ans d’expérience. Adrien a notamment travaillé pour Softbank au développement d’applications robotiques en Kotlin.

Biographie

Benjamin Lacroix

Benjamin Lacroix, développeur Android de plus de 7 ans d’expérience. Benjamin a participé au développement d’applications grands publics comme Meetic, Betclic et PMU. Il a accompagné les équipes dans l’adoption de Kotlin au sein de produits nouveaux et existants. Benjamin a également donné des conférences Android à Android Makers et à la XebiCon.

Public visé

Développeurs Android ayant à minima des connaissances de base sur le framework Android.

Prérequis

Quelques notions de Java, la dernière version d’Android Studio, les bases de la programmation orientée objet.

Validation

À la fin de cette formation, les stagiaires recevront une attestation de présence.

SOFTWARE TRAINING DONE RIGHT