JVM/Scala

Formation Kotlin

Programme

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.

JOUR 1 : 

1/ Les bases de Kotlin 

a) 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)

b) 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)

1/ Adapter Kotlin

a) 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)

JOUR 2 

a) 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

b) 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

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.

Durée

2 jours soit 14 heures

Tarif HT

Inter : 1500 €

Intra : Selon demande

Prochaines dates de formation

Date à venir

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.

Objectifs

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

Validation

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

Formateurs

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.

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.