Umgebung einrichten (Kotlin Multiplatform)

Mit Kotlin Multiplatform (KMP) kann Kotlin-Code Plattformen. Bevor Sie mit der Entwicklung von Apps mit KMP beginnen, müssen Sie Richten Sie Ihre Umgebung wie in diesem Dokument beschrieben ein. Sie können auch auf Offizielle Dokumentation von Jetbrain

Erforderliche Tools installieren oder aktualisieren

  • Installieren Sie Android Studio oder aktualisieren Sie die App auf die neueste stabile Version.
  • Aktualisieren Sie das in Android Studio enthaltene Kotlin-Plug-in. auf die neueste Version, um Kompatibilitätsprobleme zu vermeiden.
  • Optional: Installieren Sie für die iOS-Entwicklung Xcode, um die UI und fügen Sie nach Bedarf Swift- oder Objective-C-Code hinzu.

Kotlin-Multiplatform-Projekt erstellen

Sie können den Kotlin Multiplatform-Assistenten von Jetbrains zur um ein neues KMP-Projekt zu erstellen. Achten Sie darauf, die Option teilen, damit die UI nativ bleibt.

Projektstruktur

KMP-Projekte folgen einer ähnlichen Projektstruktur wie Android-Projekte.

Ein KMP-Projekt enthält plattformspezifische Module sowie ein freigegebenes Modul. Fügen Sie Ihren plattformspezifischen Code in das entsprechende Modul ein. Fügen Sie beispielsweise Ihre Die Benutzeroberfläche Ihrer Android-App im Modul androidApp und die Benutzeroberfläche Ihrer iOS-App in iosApp Jeder Code, den Sie zwischen Plattformen teilen möchten, wird in das Modul shared eingefügt.

Das freigegebene Modul verwendet Gradle als Build-System, genau wie der Rest des Projekt arbeiten. Sie können allgemeine und plattformspezifische Abhängigkeiten mithilfe von Quellsätzen. Wenn Ihre App beispielsweise Ktor für Netzwerke verwendet, müssen Sie eine OkHttp-Abhängigkeit für Android und eine Darwin-Abhängigkeit für iOS. Beachten Sie, dass einige Bibliotheken benötigen nur allgemeine Abhängigkeiten und keine plattformspezifischen Abhängigkeiten.

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)
   }
}

Wenn Sie dem freigegebenen Modul Ihrer App eine neue Bibliothek hinzufügen, achten Sie darauf, die für jede Plattform erforderlichen Abhängigkeiten.