Formations Application & Mobilité Formation Kotlin

Formation Kotlin

Le nouveau langage de la JVM

Rated 4.7 out of 5
Logo Formation Kotlin Android
Prix 1890€ HT / personne
Durée 3 jours ( 21 heures )
Paris | à distance | FNE
Il ne reste que quelques places
Option OFFERTE de classe virtuelle (40€/j en supplément)
Disponible en intra-entreprise pour former votre équipe

Présentation

Kotlin est le langage qui a bousculé les codes dans le monde Java & JVM, proposé par JetBrains en 2011. Il a été plébiscité par les développeurs à travers le monde et il est déjà adopté par les entreprises. Il est notamment le nouveau Langage JVM pour Android : en mai 2017, Google annonce le support officiel de Kotlin pour le développement sur Android. Annonce qui facilita encore plus son adoption et lui fit gagner une grande popularité auprès de la communauté.

Cette formation fournit une introduction détaillée à Kotlin au travers du développement applicatif ainsi que d’une introduction au développement mobile sous Android, en vous proposant de découvrir toutes ses fonctionnalités et vous permettre d’écrire du code Kotlin jusqu’à sa mise en production.

Nous commençons par les bases : vous familiariser avec l’utilisation du code Kotlin, la configuration, les outils et les instructions que vous pouvez utiliser pour écrire des programmes de base. Ensuite, nous couvrons le code orienté objet et protocole : fonctions, lambdas et propriétés, tout en utilisant les nouvelles fonctionnalités de Kotlin.

Ensuite, nous passons à des aspects de sécurité (null safety & type parameterization). Nous vous montrons comment déstructurer les expressions et même écrire les vôtres. Nous vous accompagnons également sûrs des sujets importants tels que tests, concurrences, microservices, et bien plus. À la fin de cette formation, vous pourrez créer vos propres applications & services sous Kotlin.

Comme dans toutes nos formations, celle-ci vous présentera la toute dernière version de Kotlin (à la date de rédaction de l’article en septembre 2020 : Kotlin 1.5 & mobile Android11 API 30 & Android10 API 29).

 

Objectifs

  • Utilisez les nouvelles fonctionnalités de Kotlin pour écrire un code orienté objet structuré et lisible
  • Découvrez comment utiliser les lambdas et les fonctions avancées pour écrire un code propre, réutilisable et simple
  • Écrivez des tests unitaires sous Kotlin avec un code Java vous permettant de faire la transition en douceur
  • Écrivez du code Kotlin en qualité production en mode microservices
  • Utiliser les extensions de Kotlin dans la bibliothèque de collections Java
  • Développez vos applications mobiles Android sous Kotlin

 

Public visé

  • Développeurs, Architectes, Lead Developer

 

Pré-requis

  • Connaissances de base en Java / JVM ou en langage orienté objet

Programme de notre formation Kotlin

 

Introduction à la formation Kotlin

  • Présentation générale, genèse du langage Kotlin
  • Différences majeures avec Java
  • Environnement de développement
  • Android Studio (IntelliJ IDEA) et Kotlin
  • Concepts fondamentaux et principes de programmation
  • Structure d’une application Kotlin
  • Installation et première ligne de code
  • Présentation des nouveautés des versions 1.3 et 1.4

 

Bases du langage Kotlin

  • Variables
  • Null Safety
  • Types de base : nombres, caractères, booléens, arrays et strings
  • Inférence de type
  • Packages et imports
  • Expressions
  • Contrôle de flux
  • Conventions de codage (organisation du code, règles de nommage…)

 

Programmation Orientée Objet avec Kotlin

  • Classes et héritage
  • Propriétés et attributs
  • Interfaces
  • Polymorphisme et encapsulation
  • Modifier la visibilité des classes, objets, interfaces, constructeurs…
  • Extensions
  • Classes data et sealed
  • Génériques
  • Classes nested et enum
  • Objets Kotlin
  • Pattern de délégation (fonctions, propriétés)

 

Fonctions et lambdas

  • Déclarer des fonctions
  • Paramètres des fonctions
  • Expressions lambdas et fonctions anonymes
  • High-Order Functions
  • Fonctions inline pour améliorer les performances
  • Introduction aux coroutines

 

Aspects avancés

  • Déstructurer les déclarations
  • Collections
  • Types Checks et Casts

 

La réflexion

  • Android et Kotlin
  • Android Studio
  • Organiser un projet Kotlin pour Android : string.xml, manifest et android file structure
  • Composants graphiques et interfaces utilisateurs
  • Découvrir les APIs principales
  • Gérer les flux JSON
  • Gérer les listes

 

Outils

  • Documenter son code Kotlin
  • Utiliser Kapt, Gradle
  • Plugins Kotlin

 

Introduction

  • Mise en place de l’environnement de développement
  • Les bases de la syntaxe
  • Conventions

Les bases du langage

  • Types simples
  • Vals & Vars
  • Typage par inférence
  • Structure de contrôle

 

Classes & Objects

  • Classes & heritage
  • Propriétés
  • Interfaces
  • Polymorphisme
  • Extensions
  • Data Classes
  • Generics
  • Enum Classes
  • Sealed Classes
  • Objects

 

Functions & Lambdas

  • Functions
  • Lambdas

 

Le langage avancé

  • Destructurations
  • Collections
  • Ranges
  • Typages et Casts
  • This sous toutes les formes
  • Égalités
  • Surcharge d’opérateur
  • Null Safety
  • Exceptions
  • Coroutines

 

Interop

  • Appel Java depuis Kotlin
  • Appel Kotlin depuis Java

 

Testing : Introduction aux Tests unitaires (en option, 1 jour supplémentaire)

  • Mockito Kotlin
  • Matchers : String, Collection, Floating point
  • Expecting exceptions
  • Combining matchers
  • Custom matchers
  • Inspectors

 

Module complémentaire (1 jour supplémentaire)

  • Netwoking & Json manipulation : sûrement autour de la lib Moshi.
  • Reactive programming avec l’utilisation de la lib Flow.
  • Clean architecture : quelle techno / lib utiliser à quel endroit pour la clean Architecture
  • Dependency Injection : Plusieurs Technos : Hilt vs Koin vs Dagger 2

Pour aller plus loin

Formation Kotlin Avancé

Formation Android Studio

Certification Android Auto

Langues et Lieux disponibles

Langues

  • Français
  • Anglais / English

Lieux

  • France entière
    • Paris
    • Lille
    • Reims
    • Lyon
    • Toulouse
    • Bordeaux
    • Montpellier
    • Nice
    • Sophia Antipolis
    • Marseille
    • Aix-en-Provence
    • Nantes
    • Rennes
    • Strasbourg
    • Grenoble
    • Dijon
    • Tours
    • Saint-Étienne
    • Toulon
    • Angers
  • Belgique
    • Bruxelles
    • Liège
  • Suisse
    • Genève
    • Zurich
    • Lausanne
  • Luxembourg

Nos Formateurs Référents

Christopher

Christopher

Christopher est développeur de logiciels et très passionné par son travail. Il est expert dans les technologies mobiles, dans le développement iOS et Android. Il est également attiré par le développement d’applications avec des appareils connectés. Il a aussi un esprit de compétition, un esprit créatif et son amour pour les technologies mobiles l’amène à participer à plusieurs challenges hackathon.

Témoignages

Rated 5 out of 5
9 décembre 2020

la partie théorie et pratique sont bien répartie
Aucune
Angular

Daniel P. de chez
Afficher tous les témoignages
Rated 5 out of 5
9 décembre 2020

la partie théorie et pratique sont bien répartie
Aucune
Angular

Daniel P. de chez
Rated 4 out of 5
9 décembre 2020

Formateur pédagogique, compétent et disponible.
Pas trop idéal pour les débutants.

Laurent G. de chez FAURECIA CLARION ELECTRONICS EUROPE
Rated 5 out of 5
10 septembre 2020

beaucoup de pratique, un très bon formateur, des exemples concrets

Yoann F. de chez METEO CONSULT - La Chaîne Météo
Rated 5 out of 5
30 avril 2019

Bonnes intentions

Francesco chez Deezer SA
Rated 5 out of 5
30 avril 2019

Contenu pertinent et intéressant, difficulté progressive et exercices en quantité suffisante

William
Noter la formation
Prix 1890€ HT / personne
Durée 3 jours ( 21 heures )
Paris | à distance | FNE
Il ne reste que quelques places
Option OFFERTE de classe virtuelle (40€/j en supplément)
Disponible en intra-entreprise pour former votre équipe

UNE QUESTION ? UN PROJET ? UN AUDIT DE CODE / D'INFRASTRUCTURE ?

Pour vos besoins d’expertise que vous ne trouvez nulle part ailleurs, n’hésitez pas à nous contacter.