Študijné materiály

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.

19.1.1 Čo je KMP?

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

19.1.2 Vytvorenie KMP projektu

V IntelliJ Idea:

  1. File → New → Project
  2. Zvoľ Kotlin Multiplatform
  3. Zvoľ cieľové platformy (Desktop)
  4. Klikni Create

KMP projekt sa vytvorí s build.gradle.kts špecifickým pre multiplatform.

19.1.3 Zdieľaný kód

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
}

commonMain je zdieľaný medzi všetkými platformami. Platformy môžu mať vlastný kód v jvmMain, iosMain, atď.

Úlohy

Úloha 1

Vytvor KMP projekt s desktopovým cieľom a nájdi adresáre commonMain a jvmMain.

Úloha 2

Pridaj triedu Kalkulacka do commonMain a použi ju z desktopovej časti.

Úloha 3

Vysvetli na vlastnom príklade, ktorý kód by mal byť spoločný a ktorý platformovo špecifický.