Configurer votre environnement (multiplateforme Kotlin)

La multiplateforme Kotlin (KMP) permet de partager du code Kotlin entre différentes plates-formes. Avant de commencer à créer des applications avec KMP, vous devez configuré votre environnement comme décrit dans ce document. Vous pouvez également vous référer à la documentation officielle de JetBrain ;

Installer ou mettre à jour les outils requis

  • Installez la dernière version stable d'Android Studio ou appliquez la mise à jour correspondante.
  • Mettez à jour le plug-in Kotlin fourni avec Android Studio. vers la dernière version pour éviter les problèmes de compatibilité.
  • (Facultatif) Pour le développement iOS, installez Xcode pour compiler le UI et ajoutez le code Swift ou Objective-C selon vos besoins.

Créer un projet de multiplateforme Kotlin

Vous pouvez utiliser l'assistant multiplateforme Kotlin de JetBrains pour : créer un projet KMP. Veillez à sélectionner l'option Ne pas "Share UI" (Partager l'UI) pour que l'UI reste native.

Structure du projet

Les projets KMP suivent une structure de projet semblable à celle des projets Android.

Un projet KMP contient des modules spécifiques à une plate-forme ainsi qu'un module partagé. Ajoutez votre code spécifique à la plate-forme dans le module approprié. Par exemple, ajoutez votre Interface utilisateur de l'application Android dans le module androidApp et l'interface utilisateur de votre application iOS dans iosApp Tout code que vous souhaitez partager entre les plates-formes doit être placé dans le module shared (partagé).

Le module partagé utilise Gradle comme système de compilation, tout comme le reste du projet. Vous pouvez déclarer des dépendances courantes et spécifiques à la plate-forme à l'aide de des ensembles de sources. Par exemple, si votre application utilise Ktor pour la mise en réseau, vous devez ajouter une dépendance OkHttp pour Android et une dépendance Darwin pour iOS. Notez que certaines les bibliothèques n'ont besoin que de dépendances courantes et n'ont pas besoin d'être spécifiques à la plate-forme les dépendances.

sourceSets {
   commonMain.dependencies {
       //put your multiplatform dependencies here
       //...
       implementation(libs.ktor.client.core)
       implementation(libs.ktor.client.content.negotiation)
       implementation(libs.ktor.serialization.kotlinx.json)
       //...
   }
   androidMain.dependencies {
       implementation(libs.ktor.client.okhttp)
   }
   iosMain.dependencies {
       implementation(libs.ktor.client.darwin)
   }
}

Lorsque vous ajoutez une bibliothèque au module partagé de votre application, assurez-vous de vérifier les dépendances requises pour chaque plate-forme.