0Pricing
Kotlin Academy · Lektion

Kotlin/Native im Überblick: Ziele, Toolchain und Kompilierung

Machen Sie sich mit den verfügbaren Kotlin/Native-Zielen vertraut und kompilieren Sie eine einfache CLI-Binärdatei.

Kotlin/Native im Überblick: Ziele, Toolchain und Kompilierung ist eine kostenlose Kotlin Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Kotlin Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Kotlin Academy-Kurs umfasst insgesamt 4 Lektionen.

Was ist Kotlin/Native?

Kotlin/Native kompiliert Kotlin-Quellcode über LLVM direkt in nativen Maschinencode, ohne JVM- oder Dalvik-Laufzeitumgebung. Das Ergebnis ist eine eigenständige Binärdatei – auf dem Zielrechner ist keine JVM-Installation erforderlich.

Unterstützte Zielplattformen

Kotlin/Native unterstützt eine große Auswahl an Zielplattformen:

  • macOS / iOS: macosX64, macosArm64, iosX64, iosArm64, iosSimulatorArm64
  • Linux: linuxX64, linuxArm64
  • Windows: mingwX64
  • Embedded / watchOS / tvOS: verschiedene Zielplattformen

Die Kompilierungspipeline

Die Kompilierungspipeline von Kotlin/Native: Kotlin-Quellcode → Kotlin-IR (Zwischendarstellung) → LLVM-IR → native Binärdatei. Der Compiler konanc steuert diesen Prozess, in der Praxis verwenden Sie jedoch immer das Kotlin Multiplatform Gradle Plugin.

Ein natives Ziel in Gradle einrichten

Deklarieren Sie in einem Kotlin-Multiplatform-Projekt native Zielplattformen in build.gradle.kts:

kotlin {
    macosArm64("macos") {
        binaries {
            executable { entryPoint = "main" }
        }
    }
    linuxX64("linux") {
        binaries { executable { entryPoint = "main" } }
    }
}

Source Sets für native Zielplattformen

Native Zielplattformen teilen sich commonMain/commonTest mit anderen Plattformen. Plattformabhängiger Code befindet sich in Source Sets wie macosMain oder linuxX64Main. Verwenden Sie expect/actual für plattformspezifische APIs.

Binärdateitypen

Kotlin/Native kann verschiedene Binärdateitypen erzeugen:

  • executable — eigenständiges Kommandozeilenprogramm
  • staticLib — statische Bibliothek zum Einbinden in C/C++-Projekte
  • sharedLib — dynamische (.dylib / .so / .dll) Bibliothek
  • framework — Apple-Framework zur Integration in iOS/macOS

Native Tests ausführen

Führen Sie native Tests mit ./gradlew macosArm64Test aus (oder mit der entsprechenden Ziel-Task). Die Tests werden in eine native Binärdatei kompiliert und auf dem Hostrechner ausgeführt – eine JVM ist nicht beteiligt.

Einschränkungen bei der Cross-Kompilierung

Die Cross-Kompilierung mit Kotlin/Native ist eingeschränkt: Apple-Ziele können nur unter macOS kompiliert werden (Xcode erforderlich). Linux- und Windows-Ziele können auf jedem unterstützten Host kompiliert werden. CI-Pipelines verwenden für Apple-Ziele typischerweise macOS-Agenten.

Das klib-Format

Kotlin/Native-Bibliotheken werden als .klib-Dateien verteilt – dem plattformunabhängigen Bibliotheksformat von Kotlin. Abhängigkeiten werden als .klibs aufgelöst und beim Kompilieren mit der finalen Binärdatei verknüpft.

Kotlin/Native in einer KMP-iOS-App

In einem standardmäßigen Kotlin-Multiplatform-Mobile-(KMM)-Projekt wird gemeinsam genutzter Code in ein Apple-Framework kompiliert, das Xcode in die iOS-App einbindet. Swift-/Objective-C-Code ruft Kotlin-APIs über generierte Header auf.

Leistungsmerkmale

Native Binärdateien starten sofort (kein JVM-Start), haben einen geringeren Speicherbedarf und eignen sich für Kommandozeilenprogramme, serverseitige Linux-Anwendungen und gemeinsam genutzte Logik in iOS/macOS. Lang laufende JVM-Anwendungen können Native aufgrund von JIT-Optimierungen übertreffen, aber die Vorteile beim Start und beim Speicherbedarf machen Native für viele Anwendungsfälle zur besseren Wahl.

Schnelltest

Welcher Gradle-Binärtyp erzeugt aus Kotlin/Native ein Apple-Framework zur Verwendung in einem iOS-Xcode-Projekt?

Zusammenfassung: Kotlin/Native im Überblick

Die wichtigsten Erkenntnisse:

  • Kotlin/Native kompiliert über LLVM in nativen Maschinencode – keine JVM erforderlich
  • Unterstützt macOS-, iOS-, Linux-, Windows-, watchOS- und tvOS-Ziele
  • Konfigurieren Sie Ziele und Binärtypen im KMP-Gradle-Plugin
  • Für Apple-Ziele sind macOS und Xcode erforderlich; die Cross-Kompilierung ist plattformabhängig eingeschränkt
  • Bibliotheken werden als .klib verteilt; die iOS-Integration erfolgt über die Binärdatei framework

Häufig gestellte Fragen

Ist die Lektion „Kotlin/Native im Überblick: Ziele, Toolchain und Kompilierung“ kostenlos?

Ja — der vollständige Text von „Kotlin/Native im Überblick: Ziele, Toolchain und Kompilierung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Kotlin Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Kotlin Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Kotlin/Native im Überblick: Ziele, Toolchain und Kompilierung“?

Machen Sie sich mit den verfügbaren Kotlin/Native-Zielen vertraut und kompilieren Sie eine einfache CLI-Binärdatei. Du übst Kotlin Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Kotlin Academy zu starten?

Keine Vorkenntnisse erforderlich. Kotlin Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Kotlin/Native im Überblick: Ziele, Toolchain und Kompilierung“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Kotlin Academy-Lektion Code schreiben und ausführen?

Ja. Jede Kotlin Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Kotlin/Native im Überblick: Ziele, Toolchain und Kompilierung
  2. Speicherverwaltung in Kotlin/Native: Der neue MM
  3. C-Interop mit cinterop und .def-Dateien
  4. Kotlin/WASM: Kompilieren für WebAssembly im Browser
← Zurück zu Kotlin Academy