Overzicht van Kotlin/Native: targets, toolchain en compilatie
Krijg inzicht in de beschikbare Kotlin/Native-targets en compileer een eenvoudige CLI-binary.
Overzicht van Kotlin/Native: targets, toolchain en compilatie is een gratis Kotlin Academy-les op CoddyKit. Dit is les 1 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Kotlin Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Kotlin Academy bevat in totaal 4 lessen.
Wat is Kotlin/Native?
Kotlin/Native compileert Kotlin-broncode rechtstreeks naar native machinecode via LLVM, zonder JVM of Dalvik-runtime. Het resultaat is een zelfstandig binair bestand — op de doelmachine is geen JVM-installatie nodig.
Ondersteunde doelplatformen
Kotlin/Native ondersteunt een grote verscheidenheid aan doelplatformen:
- macOS / iOS:
macosX64,macosArm64,iosX64,iosArm64,iosSimulatorArm64 - Linux:
linuxX64,linuxArm64 - Windows:
mingwX64 - Ingebed / watchOS / tvOS: diverse doelplatformen
De compilatiepijplijn
De compilatiepijplijn van Kotlin/Native: Kotlin-broncode → Kotlin IR (tussenrepresentatie) → LLVM IR → native binair bestand. De konanc-compiler stuurt dit proces aan, maar in de praktijk gebruik je altijd de Kotlin Multiplatform Gradle-plug-in.
Een native doelplatform instellen in Gradle
Declareer in een Kotlin Multiplatform-project native doelplatformen in build.gradle.kts:
kotlin {
macosArm64("macos") {
binaries {
executable { entryPoint = "main" }
}
}
linuxX64("linux") {
binaries { executable { entryPoint = "main" } }
}
}Bronverzamelingen voor native doelplatformen
Native doelplatformen delen commonMain/commonTest met andere platformen. Platformspecifieke code staat in bronverzamelingen zoals macosMain of linuxX64Main. Gebruik expect/actual voor platformspecifieke API's.
Typen binaire uitvoer
Kotlin/Native kan verschillende binaire typen produceren:
executable— zelfstandig opdrachtregelprogrammastaticLib— statische bibliotheek voor koppeling met C/C++-projectensharedLib— dynamische (.dylib / .so / .dll) bibliotheekframework— Apple-framework voor integratie met iOS/macOS
Native-tests uitvoeren
Voer Native-tests uit met ./gradlew macosArm64Test (of de taak voor het relevante doelplatform). Tests worden naar een native binair bestand gecompileerd en op de hostmachine uitgevoerd — de JVM speelt geen rol.
Beperkingen van kruislings compileren
Kruiscompilatie van Kotlin/Native is beperkt: je kunt alleen op macOS voor Apple-doelplatformen compileren (Xcode vereist). Voor Linux- en Windows-doelplatformen kun je op elke ondersteunde host compileren. CI-pijplijnen gebruiken doorgaans macOS-agents voor Apple-doelplatformen.
De klib-indeling
Kotlin/Native-bibliotheken worden verspreid als .klib-bestanden — de platformonafhankelijke bibliotheekindeling van Kotlin. Afhankelijkheden worden als .klibs opgelost en tijdens compilatie aan het uiteindelijke binaire bestand gekoppeld.
Kotlin/Native in een KMP-iOS-app
In een standaard Kotlin Multiplatform Mobile (KMM)-project wordt gedeelde code gecompileerd naar een Apple framework dat Xcode aan de iOS-app koppelt. Swift/Objective-C-code roept Kotlin-API's aan via gegenereerde headerbestanden.
Prestatiekenmerken
Native binaire bestanden starten direct (geen JVM-opstart), hebben een kleinere geheugenvoetafdruk en zijn geschikt voor opdrachtregelprogramma's, Linux-toepassingen aan serverzijde en gedeelde logica voor iOS/macOS. Langdurig draaiende JVM-toepassingen kunnen dankzij JIT-optimalisaties betere prestaties leveren dan Native, maar de voordelen bij het opstarten en geheugengebruik maken Native voor veel gebruikssituaties aantrekkelijker.
Korte controle
Welk binair Gradle-type produceert een Apple-framework van Kotlin/Native voor gebruik in een iOS Xcode-project?
Samenvatting: overzicht van Kotlin/Native
Belangrijkste punten:
- Kotlin/Native compileert via LLVM naar native machinecode — geen JVM vereist
- Ondersteunt doelplatformen voor macOS, iOS, Linux, Windows, watchOS en tvOS
- Configureer doelplatformen en binaire typen in de KMP Gradle-plug-in
- Apple-doelplatformen vereisen macOS + Xcode; kruislings compileren kent platformbeperkingen
- Bibliotheken worden verspreid als
.klib; iOS-integratie verloopt via het binaire typeframework
Leer Kotlin met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 51
- Lessen
- 203
Veelgestelde vragen
Is de les “Overzicht van Kotlin/Native: targets, toolchain en compilatie” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Kotlin Academy, waaronder “Overzicht van Kotlin/Native: targets, toolchain en compilatie”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Kotlin Academy bevat in totaal 4 lessen.
Wat leer ik in “Overzicht van Kotlin/Native: targets, toolchain en compilatie”?
Krijg inzicht in de beschikbare Kotlin/Native-targets en compileer een eenvoudige CLI-binary. Je oefent met Kotlin Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Kotlin Academy te beginnen?
Ervaring vooraf is niet nodig. Kotlin Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.
Hoe lang duurt de les “Overzicht van Kotlin/Native: targets, toolchain en compilatie”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Kotlin Academy?
Ja. Elke les over Kotlin Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Overzicht van Kotlin/Native: targets, toolchain en compilatie
- Geheugenbeheer in Kotlin/Native: de nieuwe MM
- C-interoperabiliteit met cinterop en .def-bestanden
- Kotlin/WASM: compileren naar WebAssembly voor de browser