Kotlin Multiplatform (KMP) umožňuje zdieľať Kotlin kód medzi rôznymi platformami - Android, iOS, desktop a web. Pre nás bude zaujímavý hlavne desktop.
KMP nie je framework na tvorbu UI. Je to spôsob, ako napísať kód raz a spustiť ho na viacerých platformách. UI píšeme vždy špecificky pre danú platformu.
Kotlin Shared Code
├── Desktop (JVM) → Compose Desktop
├── Android → Jetpack Compose
├── iOS → SwiftUI
└── Web → Kotlin/JS
V IntelliJ Idea:
KMP projekt sa vytvorí s
build.gradle.ktsšpecifickým pre multiplatform.
Zdieľaný kód sa nachádza v src/commonMain/kotlin/:
// src/commonMain/kotlin/Calculator.kt
class Calculator {
fun add(a: Int, b: Int) = a + b
fun subtract(a: Int, b: Int) = a - b
}
commonMainje zdieľaný medzi všetkými platformami. Platformy môžu mať vlastný kód vjvmMain,iosMain, atď.
Vytvor KMP projekt s desktopovým cieľom a nájdi adresáre commonMain a jvmMain.
Pridaj triedu Kalkulacka do commonMain a použi ju z desktopovej časti.
Vysvetli na vlastnom príklade, ktorý kód by mal byť spoločný a ktorý platformovo špecifický.