Kotlin Multiplatform (KMP) permet de partager la logique métier entre Android et iOS tout en conservant des interfaces natives sur chaque plateforme. Cette formation vous apprend à concevoir une architecture multiplateforme efficace avec Jetpack Compose et SwiftUI, à gérer la persistance des données et à intégrer des APIs REST avec Ktor. Vous repartirez avec les compétences pour réduire significativement les coûts de développement mobile tout en maintenant une expérience utilisateur native.
Public visé
Tout professionnel amené à développer des applications mobiles multiplateformes, maîtrisant la programmation orientée objet et connaissant au moins un langage comme Kotlin, Java, Swift, C#, JavaScript ou TypeScript.
Objectifs pédagogiques
À l’issue de cette formation, vous serez capable de :
- Développer des applications multiplateformes entièrement natives pour Android et iOS
- Concevoir une architecture partagée pour les deux plateformes
- Implémenter des fonctionnalités spécifiques à chaque plateforme
- Écrire des fonctions Kotlin pour iOS
Programme
Jour 1
Quelle approche multiplateforme ?
- Discussion sur les approches pour concevoir une application multiplateforme
- Interagir au travers de JavaScript
- Créer des plug-ins dans un cadre générique
- Utiliser les API d’Android ou d’iOS au travers d’un langage natif commun (Kotlin)
Environnements de développement pour KMP
- Présentation des différentes alternatives pour éditer un projet KMP
- Android Studio
- IntelliJ
- Xcode
- Fleet
Travaux pratiques :
- Installation de la dernière version de l’environnement de développement recommandé pour KMP
Créer un projet KMP
- Un projet KMP comporte trois modules principaux
- Android
- iOS
- Common
- La création cohérente et simultanée de ces trois modules suppose de s’appuyer sur des templates pré-définis
Travaux pratiques :
- Création de l’application “Hello World” avec Android Studio puis avec le Wizard de JetBrains
Kotlin pour les développeurs Swift
- Similitudes et pièges
- Déclaration compacte de fonctions
- Pattern de délégation au niveau du langage
Travaux pratiques :
- Codage des principaux concepts de Kotlin avec Kotlin Notebook
Swift pour les développeurs Kotlin
- Similitudes et pièges
- Un support complet pour les Algebraic Data Types
- Une gestion efficace des optionnels
Travaux pratiques :
- Codage des principaux concepts de Swift avec Swift Playground
Jour 2
Declarative UI
- Equation fondamentale UI = f(State)
- SwiftUI
- Jetpack Compose
- Transformer les déclarations grâce à une IA generative
Travaux pratiques :
- Création d’un compteur avec SwitUI et Compose
Comment maintenir et mettre à jour un état commun
- View stateless ou stateful
- Notion de ViewModel
- Programmation réactive
Travaux pratiques :
- Création d’une application de calcul de surface pour Android et iOS
Jour 3
Data Persistence commune
- Utiliser Room pour créer une couche d’abstraction sur SQLite
Travaux pratiques :
- Création d’une “To do List” pour Android et iOS
API REST commune
- Utiliser Ktor pour accéder aux données JSON d’un serveur, à partir d’un projet KMP
Travaux pratiques :
- Création d’une application pour Android et iOS affichant les caractéristiques des Pokémons
Data Persistence commune (suite)
- Testing
- Comment créer, configurer et exécuter des tests dans une application KMP
Travaux pratiques :
- Création d’un test commun à Android et iOS sur un jeu de données alphabétiques et numériques
Modalités d’évaluation des acquis
En cours de formation, par des travaux pratiques. En fin de formation, par un questionnaire d’auto-évaluation.
Formation DEV-KOTLIN-200 — Kotlin - Développement mobile avec KMP. Domaine : Développement. Niveau : Intermédiaire. Durée : 3 jours (21 heures). Mots-clés : kotlin, kmp, mobile, android, ios, multiplateforme. Cylian Formation, Dijon.