Choisissez votre langue
Cours Kotlin Multiplateforme
Plus de 2 millions d'étudiants dans le monde

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.

Dedika pour les entreprises

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.

Cliquez ici

Contenu du cours

8 Chapitres • 37 LeçonsDurée entre 4 et 360 heures (vous décidez)

Chapitre 1Voir les détails

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 2Voir les détails

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 3Voir les détails

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 4Voir les détails

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 5Voir les détails

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 6Voir les détails

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 7Voir les détails

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 8Voir les détails

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.

Certification

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...
Giulio Carlo
Giulio CarloÉtudiant en Marketing Digital
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.
Mariana Ferres
Mariana FerresÉtudiante en Photographie
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 !
Luciana Alvarenga
Luciana AlvarengaÉtudiante en Design d'Ongles
La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.
André Felipe
André FelipeÉtudiant en Ingénierie de Prompt

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