- ACN_ATLAS
- Cours pratique
- Informatique
Formation Kotlin : Développer des applications multi-plateformes

- Durée
- 3 jours
- Niveau
- Intermédiaire
- Modalités
- Présentiel / Distanciel
Description de la formation kotlin multiplatform
Kotlin est depuis 2017 le langage recommandé par Google et adopté par les développeurs qui lui reconnaissent de grandes qualités (flexibilité, richesse, concision, efficacité, robustesse, etc.). Ce langage moderne reste interopérable avec les standards incontournables comme Java et Javascript. Kotlin Multiplatform (KMP) est une extension de Kotlin conçue pour le développement multiplateforme qui introduit des concepts, structures de projet et outils spécifiques afin de partager du code pour différentes plateformes tout en intégrant les spécificités de la plateforme visée (Android, iOS, Web, Desktop, etc.).

Objectifs pédagogiques
À l'issue de cette formation Kotlin, les participants auront acquis les connaissances et les compétences nécessaires pour :
- Connaître les concepts de Kotlin Multiplateform
- Mettre en place un environnement de développement
- Connaître la syntaxe, les concepts et les spécificités du langage Kotlin
- Concevoir l'architecture d'une application mobile multiplateforme
- Construire une interface utilisateur fluide et performante
- Réaliser des tests pour assurer la qualité et la fiabilité des applications
Objectifs opérationnels
Savoir créer des applications multiplateformes (Web, iOS, Android) avec Kotlin Multiplatform (KMP).
Programme
Contenu du cours, module par module
8 modules
- Pourquoi Kotlin Multiplatform ? Enjeux, cibles supportées (Android, iOS, Desktop, Web)
- Différences clés Kotlin/Java, Projet Android/KMP
- Structure d’un projet multiplateforme : commonMain, androidMain, iosMain
- Syntaxe de base de Kotlin : types, variables, contrôles, fonctions
- Notions orientées objet : classes, interfaces, héritage, data class, enum, délégation
- Fonctionnement des expect / actual pour l’abstraction multiplateforme
- Installation et configuration de l’environnement de développement (Android Studio, plugins KMP, simulateurs)
Travaux pratiques
Description : Création d’un projet KMP simple partageant du code métier entre Android et iOS.
- Introduction à Kotlin Multiplatform Mobile (KMM)
- Intégration dans une app Android et une app iOS
- Configuration des IDE (Android Studio/xCode) + plugin KMM
- Présentation de Jetpack Compose Multiplatform, Structure d’un projet code partagé et code spécifique
- Cycle de vie Android vs iOS, gestion des plateformes spécifiques
Travaux pratiques
Description : Mise en place d’un écran d’accueil multiplateforme avec Compose + logique partagée
- Architecture de navigation avec Compose Navigation
- Notion de ViewModel multiplateforme
- Gestion d’état avec State, remember, StateFlow, MutableStateFlow
- Navigation entre écrans dans une application Compose
- Compatibilité avec SwiftUI / Navigation iOS
Travaux pratiques
Description : Créer une navigation cohérente et dynamique avec gestion d’état partagée.
- Présentation de Ktor Client multiplateforme (structure, configuration)
- Appels HTTP GET, POST, gestion des en-têtes
- Utilisation de Kotlinx.serialization pour parser des flux JSON
- Patterns d’appel avec coroutines : suspend, async/await, gestion d’erreurs
- Injection de dépendances pour faciliter les tests
Travaux pratiques
Description : Mise en œuvre d’une application avec plusieurs fragments et une seule activité.
Navigation entre les fragments (NavigationDrawer).
- Présentation de SQLLite (multiplateforme, types sûrs, migration intégrée)
- Définition des entités et requêtes SQL
- Intégration avec des ViewModel pour persister des données
- Différences de comportement Android / iOS concernant le stockage local
- Mise en cache des résultats d’API avec fallback
Travaux pratiques
Description : Créer un mini système de favoris (articles ou éléments API) stockés localement
- Accès aux fonctionnalités spécifiques via expect/actual (ex : géolocalisation, SMS)
- Utilisation de Plans sur iOS et Google Maps sur Android via librairies natives
- Envoi / réception de SMS (permissions + accès natif)
- Accès aux capteurs (gyroscope, accéléromètre)
- Gestion des permissions (permissions multiplateformes avec Multiplatform Settings ou spécifiques)
- Interfaçage avec des SDK natifs si nécessaire (interopérabilité Swift / ObjC / Kotlin Native)
Travaux pratiques
Description : Créer une fonctionnalité conditionnelle selon la plateforme : par exemple, alerter l’utilisateur en fonction de sa position géographique et du mouvement de l’appareil.
- Les coroutines et Flow multiplateformes
- La gestion fine de la concurrence (Dispatchers, Job, SupervisorJob)
- Les expect/actual avancés : partager une logique métier tout en intégrant du code natif ciblé
- Extensions multiplateformes (formatage, validation, conversion)
- Structure de projet évoluée : domain/shared/ui-platform separation
- Optimisation de la taille des librairies KMM (Kotlin Multiplatform Mobile)
Travaux pratiques
Description : Mettre en œuvre une logique métier réactive basée sur un Flow, observable sur plusieurs écrans.
- Réflexions sur la maintenabilité, testabilité, et industrialisation d’un projet KMM
- Retour d’expérience sur les limites actuelles de Kotlin Multiplatform (UI iOS, tooling, performance, debug)
- Recommandations et bonnes pratiques de structuration d’un projet KMM en production
- Présentation de la roadmap JetBrains (compose-multiplatform, tooling iOS, etc.)
Travaux pratiques
L’approche pédagogique repose sur un apprentissage par la pratique structurée autour de plusieurs ateliers qui permettent d’isoler d’une part les concepts spécifiques au développement mobile mais aussi les spécificités de l’aspect multi-plateformes où l’on doit bien faire comprendre que la généricité absolue n’existe pas et que même si l’on parle d’application « unique » elle est cependant constituée de « parties spécifiques » pour telle ou telle cible (iOS, Andoid, Web, etc.).
Nous prenons donc le soin de respecter une courbe d’apprentissage progressive et bien structurée pour introduire petit à petit les différents concepts en débutant par poser les problématiques spécifiques du développement mobile par rapport au développement classique (connu des participants selon les pré-requis demandés) comme la navigation, la gestion des données, etc. puis nous élargissons la réflexion aux spécificités du mutli-plateforme en introduisant petit à petit les apports de Kotlin Multiplatform par rapport au seul langage Kotlin.
Programme mis à jour le 28/04/2026
Public concerné
Ce cours s’adresse principalement aux développeurs et architectes chargés de concevoir une application dans le contexte d’un environnement multiplateformes. Les personnes concernées ont une prédilection pour la programmation orientée objet appliquée dans un contexte mobile, ou pour le développement d'applications dites multiplateformes. Ils interviennent également au niveau de l’interface utilisateur en coordination avec les équipes en charge de l’expérience utilisateur.

Prérequis
Les participants à cette formation possèdent la maîtrise d’un langage de programmation, idéalement orienté objet (Java, C#, C++...) en raison de leur interopérabilité avec l’environnement Android Studio. Ils possèdent idéalement des notions relatives au cycle de vie et à l’écosystème d’une application : chargement des ressources, gestion des APIs, modalités de diffusion… Toutes ces notions seront néanmoins présentées durant la formation et leur connaissance préalable n’est donc pas strictement indispensable.
J’évalue mes connaissances pour vérifier que je dispose des prérequis nécessaires pour profiter pleinement de cette formation en faisant le test de prérequis.
Faire le testFinancement
Cette formation peut être prise en charge par votre entreprise, seule ou avec l’appui de son opérateur de compétences. Nous fournissons le devis et les pièces attendues par l’OPCO.
4,8/5
4 avis
« Mon avis sur le contenu du stage : "Avoir des exemples de codes éditables dans le document et non juste des captures d'écran" Mon avis sur le formateur : "Très disponible" Ce que j'ai le plus apprécié : "Scope des exemples assez large. C'est une très bonne introduction au dévelloppement sur Mobile Android" »
BEVERT BrunoAUBAY « Mon avis sur le contenu du stage : "Contenu très riche, une journée de formation supplémentaire pourrait être un plus" Mon avis sur le formateur : "Très bonnes explications du formateur qui est à l'écoute des questions " »
LB
Les avis figurant ci-dessus sont issus des fiches d’évaluation que remplissent les participants à la fin de la formation. Ils sont ensuite publiés automatiquement si les personnes ont explicitement accepté que nous les diffusions.
Formations liées
- Le langage KotlinRéf. DKTL3 joursIntermédiaire
- Objective C, développement iOS avancé (iPhone/iPad)Réf. UPHA4 joursAvancé
- Objective C, développer des applications iOS (iPhone/iPad)Réf. UPHD5 joursIntermédiaire
- React Native : Développer une application mobile native multi-plateformesRéf. REAN3 joursIntermédiaireProchaine session : 30 nov.2 090 €