Struttura di un progetto KMM
Codice condiviso e specifico della piattaforma
Struttura di un progetto KMM è una lezione Kotlin Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Kotlin Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Kotlin Academy include 4 lezioni in totale.
Che cos'è KMM?
Kotlin Multiplatform Mobile (KMM) consente di condividere il codice tra iOS e Android mantenendo interfacce utente native. Scriva la logica di business una sola volta in Kotlin.
Il modulo condiviso
Un progetto KMM ruota attorno a un modulo condiviso. Viene compilato in una libreria JVM per Android e in un framework nativo per iOS.
- Android lo utilizza come una normale dipendenza
- iOS lo importa come framework Objective-C/Swift
Source set
Il modulo condiviso è suddiviso in source set:
commonMain— codice condiviso e indipendente dalla piattaformaandroidMain— codice specifico per AndroidiosMain— codice specifico per iOS
commonMain
commonMain può utilizzare solo la libreria standard di Kotlin e le librerie multipiattaforma. Non deve fare riferimento direttamente alle API di Android o iOS.
// shared/src/commonMain/kotlin/Greeting.kt
class Greeting {
fun greet(): String = "Hello, KMM!"
}Configurazione dei target
Il file build.gradle.kts condiviso dichiara le piattaforme da compilare tramite il plugin multipiattaforma.
kotlin {
androidTarget()
iosX64()
iosArm64()
iosSimulatorArm64()
}Il framework iOS
I target iOS vengono raggruppati in un unico framework che Xcode importa.
kotlin {
listOf(iosX64(), iosArm64(), iosSimulatorArm64()).forEach {
it.binaries.framework {
baseName = "Shared"
}
}
}Dipendenze comuni
Le librerie multipiattaforma (coroutines, serialization, Ktor) vengono inserite in commonMain, così ogni target può condividerle.
sourceSets {
val commonMain by getting {
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1")
}
}
}Modulo dell'app Android
Il modulo dell'app Android dipende da shared come qualsiasi modulo Gradle e crea l'interfaccia utente Android con Jetpack Compose o Views.
// androidApp/build.gradle.kts
dependencies {
implementation(project(":shared"))
}App iOS
L'app iOS è un normale progetto Xcode. Collega il framework Shared generato e richiama le classi Kotlin da Swift.
// Swift
// import Shared
// let text = Greeting().greet()Cosa condividere
Esempi tipici di codice condiviso: networking, modelli dei dati, repository, use case e convalida. Mantenga native l'interfaccia utente, la navigazione e i sensori della piattaforma.
Un saluto autonomo
La logica condivisa è costituita da normale Kotlin. Ecco la stessa classe eseguita autonomamente per mostrare che si tratta di codice ordinario.
class Greeting {
fun greet(): String = "Hello, KMM!"
}
fun main() {
println(Greeting().greet())
}Verifica rapida
Dove inserisce il codice che deve essere privo di qualsiasi riferimento alle API di Android o iOS?
Riepilogo
Ha appreso la struttura di KMM:
- Un modulo
sharedconcommonMain,androidMaineiosMain - Target dichiarati nel plugin multipiattaforma; iOS riceve un framework
- Android dipende da
project(":shared"); iOS importa il framework
Successivamente: expect e actual.
Impara Kotlin con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 51
- Lezioni
- 203
Domande Frequenti
La lezione «Struttura di un progetto KMM» è gratuita?
Sì — il testo completo di «Struttura di un progetto KMM» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Kotlin Academy, passa a CoddyKit PRO. Il corso Kotlin Academy include 4 lezioni in totale.
Cosa imparerò in «Struttura di un progetto KMM»?
Codice condiviso e specifico della piattaforma Eserciti Kotlin Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Kotlin Academy?
Non è richiesta alcuna esperienza precedente. Kotlin Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Struttura di un progetto KMM»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Kotlin Academy?
Sì. Ogni lezione Kotlin Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Struttura di un progetto KMM
- expect e actual
- Condivisione della logica di business
- API della piattaforma