Konfigurowanie środowiska (Kotlin Multiplatform)

Kotlin Multiplatform (KMP) umożliwia udostępnianie kodu Kotlin na różnych platformach. Zanim zaczniesz tworzyć aplikacje za pomocą KMP, musisz wykonać skonfiguruj środowisko zgodnie z opisem w tym dokumencie. Możesz też odwołać się do strony Oficjalna dokumentacja Jetbrain.

Zainstaluj lub zaktualizuj wymagane narzędzia

  • Zainstaluj Android Studio lub zaktualizuj go do najnowszej stabilnej wersji.
  • Zaktualizuj wtyczkę Kotlin dołączoną do Android Studio. do najnowszej wersji, by uniknąć problemów ze zgodnością.
  • (Opcjonalnie) W przypadku programowania na iOS zainstaluj Xcode, aby utworzyć UI i w razie potrzeby dodaj kod Swift lub Objective-C.

Utwórz wieloplatformowy projekt Kotlin

Możesz użyć kreatora wieloplatformowego Kotlin z Jetbrains do: utwórz nowy projekt KMP. Pamiętaj, aby zaznaczyć pole wyboru Nie udostępniania UI, co pozwala zachować natywny interfejs.

Struktura projektu

Projekty KMP mają strukturę podobną do projektów na Androida.

Projekt KMP zawiera moduły związane z konkretną platformą oraz moduł udostępniony. Dodaj kod związany z daną platformą do odpowiedniego modułu. Na przykład dodaj Interfejs aplikacji na Androida w module androidApp i interfejs aplikacji na iOS w iosApp. Kod, który chcesz udostępnić między platformami, znajdziesz w module shared.

Podobnie jak reszta modułu udostępnionego używa Gradle jako systemu kompilacji. w projektach AI. Zadeklarowane wspólne i zależne od platformy zależności możesz zadeklarować za pomocą zbiorów źródeł. Na przykład jeśli aplikacja używa do obsługi sieci Ktor, musisz dodać zależności OkHttp w przypadku Androida i Darwin w przypadku iOS. Pamiętaj, że niektóre wymagają jedynie wspólnych zależności i nie wymagają obsługi konkretnej platformy. zależności.

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

Gdy dodasz nową bibliotekę do udostępnianego modułu aplikacji, sprawdź, czy wymagane zależności dla każdej platformy.