
Cours Kotlin Multiplateforme
Maîtrisez Kotlin Multiplatform et publiez des applications prêtes pour la production sur Android et iOS à partir d'une base de code partagée unique. Ce cours vous guide de la configuration de l'environnement à l'architecture, en passant par le réseau, le stockage et l'intégration native de l'interface utilisateur. Arrêtez d'écrire la même logique deux fois et commencez à développer plus intelligemment, plus rapidement et de manière plus maintenable.
Ce que vous allez apprendre:
Vous apprendrez à structurer un projet Kotlin Multiplatform à l'aide de source sets, de déclarations expect/actual et de configurations Gradle multi-modules. Vous mettrez en œuvre un réseau partagé avec Ktor, la sérialisation de données avec kotlinx.serialization et la persistance locale avec SQLDelight. Le cours couvre les coroutines, Kotlin Flow et la configuration de dispatchers spécifiques à la plateforme pour un code asynchrone fiable sur chaque cible. Vous assemblerez le tout avec Koin pour l'injection de dépendances et connecterez les ViewModels partagés à Jetpack Compose et SwiftUI. À la fin, vous livrerez une fonctionnalité complète, testée et fonctionnant sur des appareils Android et iOS réels.
Comment vous étudiez de façon pratique Cours Kotlin Multiplateforme
Comment vous pratiquez Cours Kotlin Multiplateforme
Pour vous, entreprise, qui souhaitez former votre équipe
Avec Dedika pour les entreprises, le cours inclut des exercices et des exemples adaptés à votre propre activité et aux besoins spécifiques de votre entreprise.
Contenu du cours
8 Chapitres • 37 LeçonsDurée entre 4 et 360 heures (vous décidez)
Chapitre 1MasquerCacher les détailsVoir les détailsIntroduction à Kotlin Multiplatform
Introduction à Kotlin Multiplatform
Leçon 1 • Comprendre le système de build Gradle
Explique comment Gradle orchestre les builds multiplateforme et gère les dépendances. Relie la connaissance de la configuration de build à chaque tâche de codage ultérieure du cours.
Leçon 2 • Créer votre premier projet KMP
Guide la création du projet à l'aide de l'assistant de projet KMP et examine la structure générée. Les étudiants acquièrent une familiarité avec la disposition des modules avant d'écrire la logique partagée.
Leçon 3 • Configuration de l'environnement de développement
Guide l'installation des outils requis, y compris Android Studio, Xcode et le plugin Kotlin Multiplatform. Garantit que chaque étudiant dispose d'un espace de travail fonctionnel avant d'écrire du code.
Leçon 4 • Qu'est-ce que Kotlin Multiplatform
Définit KMP, ses objectifs et en quoi il diffère des alternatives multiplateforme. Fournit le contexte des raisons pour lesquelles KMP est adopté dans le développement mobile et desktop moderne.
Chapitre 2MasquerCacher les détailsVoir les détailsNotions essentielles du langage Kotlin pour KMP
Notions essentielles du langage Kotlin pour KMP
Leçon 1 • Patrons orientés objet en Kotlin
Examine les classes, les interfaces, l'héritage et les classes de données utilisés de manière intensive dans les modules partagés. Ces patrons forment la colonne vertébrale structurelle de la logique métier partagée.
Leçon 2 • Extensions et délégation en Kotlin
Enseigne les fonctions d'extension, les propriétés d'extension et les patrons de délégation de propriétés. Ces outils réduisent le code répétitif dans les modules partagés et améliorent la conception d'API multiplateforme.
Leçon 3 • Fonctionnalités de programmation fonctionnelle
Introduit les lambdas, les fonctions d'ordre supérieur et les opérations sur les collections, essentiels pour un code partagé concis. Les étudiants appliquent ces fonctionnalités pour transformer et filtrer les modèles de données partagés.
Leçon 4 • Révision de la syntaxe Kotlin de base
Couvre les variables, les fonctions, les flux de contrôle et la sécurité null comme base du code partagé. Assure une aisance uniforme en Kotlin avant d'introduire des patrons spécifiques au multiplateforme.
Leçon 5 • Génériques et système de types
Couvre les génériques, la variance et les contraintes de type telles qu'utilisées dans les API de bibliothèques partagées. La compréhension du système de types prévient les erreurs d'exécution lors du partage de code entre plateformes.
Chapitre 3MasquerCacher les détailsVoir les détailsArchitecture du code partagé et ensembles de sources
Architecture du code partagé et ensembles de sources
Leçon 1 • Projets KMP multi-modules
Montre comment diviser un projet KMP en plusieurs modules Gradle pour l'évolutivité. Les étudiants configurent les dépendances inter-modules et comprennent les compromis de performance de build.
Leçon 2 • Hiérarchie des ensembles de sources expliquée
Détaille commonMain, les ensembles de sources spécifiques à la plateforme et les ensembles de sources intermédiaires. La compréhension de la hiérarchie est un prérequis pour toutes les décisions de conception de code partagé du cours.
Leçon 3 • Déclarations Expect et Actual
Explique le mécanisme expect/actual pour déclarer des implémentations spécifiques à la plateforme à partir du code partagé. Les étudiants mettent en œuvre des API de plateforme sans rompre le contrat du module commun.
Leçon 4 • Conception du module partagé
Couvre les principes pour décider ce qui appartient au code partagé par rapport au code plateforme. Les étudiants appliquent une réflexion de séparation des préoccupations pour produire des architectures multiplateforme maintenables.
Chapitre 4MasquerCacher les détailsVoir les détailsCoroutines et programmation asynchrone
Coroutines et programmation asynchrone
Leçon 1 • Dispatchers de coroutines dans KMP
Explique comment les dispatchers diffèrent entre les cibles Android, iOS et JVM dans KMP. Les étudiants configurent des dispatchers appropriés à la plateforme à l'aide de patrons expect/actual.
Leçon 2 • Exposer les coroutines à iOS
Aborde le défi de consommer les coroutines Kotlin depuis Swift, qui ne prend pas en charge les coroutines nativement. Les étudiants utilisent des wrappers et des bibliothèques pour faire le pont entre le code asynchrone et iOS.
Leçon 3 • Principes fondamentaux des coroutines
Introduit les fonctions suspend, les constructeurs de coroutines et le cycle de vie des coroutines. Ces concepts sous-tendent chaque opération asynchrone dans les modules KMP partagés.
Leçon 4 • Kotlin Flow pour les flux réactifs
Couvre les flows cold, les StateFlows et les SharedFlows pour les pipelines de données réactifs dans le code partagé. Les étudiants construisent des couches de données observables consommées par les IUs Android et iOS.
Leçon 5 • Gestion des exceptions dans les coroutines
Enseigne la gestion structurée des exceptions avec CoroutineExceptionHandler et supervisorScope. Une gestion appropriée des erreurs prévient les échecs silencieux dans la logique asynchrone partagée.
Chapitre 5MasquerCacher les détailsVoir les détailsRéseau et sérialisation de données
Réseau et sérialisation de données
Leçon 1 • Analyse et mappage des réponses API
Couvre la désérialisation des réponses JSON en modèles de données Kotlin et leur mappage en objets métier. Un mappage de données propre maintient les IUs de plateforme découplées des contrats API bruts.
Leçon 2 • Principes fondamentaux de kotlinx.serialization
Introduit la bibliothèque kotlinx.serialization pour encoder et décoder des données dans le code partagé. La sérialisation est le fondement de toute gestion des données réseau et de stockage.
Leçon 3 • Gestion des erreurs réseau et des tentatives
Met en œuvre une gestion robuste des erreurs, une configuration des délais d'attente et une logique de tentative dans le client Ktor partagé. Un réseau résilient améliore la fiabilité de l'application sur les connexions mobiles instables.
Leçon 4 • Test de la couche réseau
Utilise MockEngine de Ktor pour écrire des tests unitaires pour la couche réseau partagée sans appels HTTP réels. Un code réseau testable réduit le risque de régression lors des changements d'API.
Leçon 5 • Construction d'un client HTTP Ktor
Configure le client HTTP multiplateforme Ktor avec des moteurs spécifiques à la plateforme. Les étudiants effectuent des requêtes GET et POST à partir du code partagé ciblant Android et iOS.
Chapitre 6MasquerCacher les détailsVoir les détailsStockage local et persistance des données
Stockage local et persistance des données
Leçon 1 • Introduction à SQLDelight
Explique la vérification SQL au moment de la compilation et la génération de requêtes type-safe de SQLDelight. Les étudiants comprennent en quoi SQLDelight diffère des approches ORM avant d'écrire des schémas.
Leçon 2 • Intégration de SQLDelight avec les coroutines
Encapsule les requêtes SQLDelight dans des flows et des fonctions suspend pour un accès réactif aux données. L'intégration de coroutines connecte la couche de base de données au ViewModel ou dépôt partagé.
Leçon 3 • Paramètres multiplateforme pour le stockage clé-valeur
Introduit la bibliothèque multiplatform-settings pour stocker les préférences dans le code partagé. Le stockage clé-valeur est la couche de persistance la plus simple et un prérequis pour le travail avec les bases de données.
Leçon 4 • Définition de schémas et de requêtes
Couvre l'écriture de fichiers .sq pour définir des tables, insertions, mises à jour et sélections. Les API Kotlin générées à partir des fichiers SQL forment la couche d'accès aux données utilisée par les dépôts partagés.
Leçon 5 • Migration et versionnage des données
Enseigne le versionnage de schéma et les scripts de migration pour faire évoluer la base de données sans perte de données. La stratégie de migration est essentielle pour les applications de production avec des données utilisateur existantes.
Chapitre 7MasquerCacher les détailsVoir les détailsInjection de dépendances dans KMP
Injection de dépendances dans KMP
Leçon 1 • Test avec injection de dépendances
Remplace les dépendances réelles par des fausses et des simulacres dans les modules de test Koin. Des tests unitaires isolés valident la logique partagée sans nécessiter d'exécutions de plateforme.
Leçon 2 • Câblage des dépôts et des cas d'utilisation
Montre l'injection de dépôts, de sources de données et de cas d'utilisation à travers les modules Koin. Les étudiants construisent un graphe de dépendances complet pour la couche de logique métier partagée.
Leçon 3 • Principes d'injection de dépendances
Passe en revue les concepts d'injection de dépendances, y compris l'inversion de contrôle, le localisateur de services et l'injection par constructeur. La base conceptuelle garantit que les étudiants choisissent la bonne approche d'injection de dépendances pour KMP.
Leçon 4 • Configuration de Koin dans KMP
Configure les modules Koin dans commonMain et les initialise sur chaque plateforme. L'environnement d'exécution léger de Koin en fait la solution d'injection de dépendances la plus pratique pour le code KMP partagé.
Chapitre 8MasquerCacher les détailsVoir les détailsIntégration de la plateforme et connectivité de l'interface utilisateur
Intégration de la plateforme et connectivité de l'interface utilisateur
Leçon 1 • Intégration du code partagé dans iOS
Consomme le framework Kotlin partagé depuis SwiftUI à l'aide de wrappers ObservableObject. Les étudiants font le pont entre les StateFlows Kotlin et les patrons Combine ou async/await de Swift.
Leçon 2 • Implémentation de fonctionnalités spécifiques à la plateforme
Utilise expect/actual pour mettre en œuvre des fonctionnalités de plateforme telles que l'accès à la caméra, les notifications et la biométrie. Les étudiants étendent les API partagées avec des capacités natives sans casser le code commun.
Leçon 3 • Livraison de fonctionnalité de bout en bout
Assemble les couches réseau, stockage, injection de dépendances et interface utilisateur en une fonctionnalité fonctionnelle complète. Les étudiants valident la tranche verticale complète sur des appareils Android et iOS.
Leçon 4 • Intégration du code partagé dans Android
Connecte le module partagé à l'interface utilisateur Jetpack Compose sur Android en utilisant l'intégration standard ViewModel. Les étudiants observent les StateFlows partagés et envoient des événements depuis les écrans Compose.
Leçon 5 • Patron ViewModel partagé
Met en œuvre un ViewModel agnostique de la plateforme dans le code partagé à l'aide de coroutines et de StateFlows. Un ViewModel partagé réduit la logique de présentation dupliquée entre Android et iOS.
Votre certificat valide de réussite
Ce cours est pour vous :
Développeur Android : souhaite étendre ses compétences Kotlin existantes pour couvrir les cibles iOS.
Développeur iOS : curieux d’explorer des couches logiques partagées sans abandonner complètement SwiftUI.
Développeur full-stack : vous créez des fonctionnalités mobiles et vous êtes fatigué de dupliquer la logique métier.
Responsable technique mobile : évaluation de l’adoption de KMP et besoin de bases architecturales pratiques.
Développeur d'applications freelance souhaitant servir les deux plateformes sans doubler l'effort de développement.
Étudiant en informatique : cherchant à acquérir des compétences multiplateformes pratiques pour se démarquer lors de la recherche d'emploi.
Ce que disent nos élèves
Vos cours sont parfaits. J'ai acheté le forfait d'un an et j'ai enfin l'opportunité de suivre divers sujets qui m'intéressent sans avoir besoin de changer de plateforme... je vous remercie pour tout ce que vous faites, je vous ai déjà recommandés à d'autres personnes...

J'aime la façon dont les leçons vont droit au but et comment je peux changer de chapitres et passer le contenu dont je n'ai pas besoin.

J'aime le contenu et la façon dont les vidéos sont présentées et transcrites, ce qui accélère le processus !

La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.

Formations principales
FAQ
Qui est Dedika ?
Le certificat est-il valable au Maroc ?
Les cours sont-ils gratuits ?
Quelle est la charge de travail du cours ?
Comment sont les cours ?
Comment fonctionnent les cours ?
Quelle est la durée des cours ?
Quel est le coût ou le prix des cours ?
Qu'est-ce qu'un cours EAD ou en ligne et comment ça marche ?
Cours PDF




















