0Pricing
Kotlin Multiplatform Academy · Lektion

Warum expect/actual existiert

Der Mechanismus für plattformspezifisches Verhalten hinter einer gemeinsamen API

Warum expect/actual existiert ist eine kostenlose Kotlin Multiplatform 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 Multiplatform Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Kotlin Multiplatform Academy-Kurs umfasst insgesamt 4 Lektionen.

Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.

One Codebase, Different Worlds

Most of your Kotlin runs everywhere, but some tasks need each platform's own tools. That gap is exactly what expect/actual was built to close.

The Problem It Solves

Getting the OS version, a file path, or current time relies on Android or iOS APIs that simply do not exist in shared code. You still want to call them from commonMain. 🤔

A Promise and a Fulfillment

Think of expect as a promise: common code declares an API exists. Then each platform fulfills that promise with a real implementation.

The expect Declaration

In commonMain you write a declaration with no body. The expect keyword means the implementation lives elsewhere, per platform.

expect fun platformName(): String

The actual Implementation

Each target supplies the body with actual. Android returns one value, iOS returns another, but the signature must match exactly.

actual fun platformName(): String = "Android"

Common Code Stays Common

Your shared logic just calls the function and never sees the difference. The compiler picks the right actual for each build.

val label = "Running on " + platformName()

Not the Same as an Interface

An interface needs an object to implement it at runtime. expect/actual is resolved at compile time, so there is zero runtime cost.

Where Each Piece Lives

The expect goes in commonMain. Every actual lives in its matching source set, like androidMain or iosMain, side by side.

Every Target Must Answer

Wenn Sie für Android und iOS entwickeln, benötigen beide ein Actual. Ein fehlendes Actual führt zu einem Kompilierungsfehler und nicht erst später zu einem unerwarteten Absturz.

Use It Sparingly

Greife nur für die dünne Schicht, die sich tatsächlich unterscheidet, zu expect/actual. Je mehr Code in common bleibt, desto mehr teilst du. ✨

A Bridge, Not a Wall

expect/actual ist eine saubere Brücke zu nativer Leistung, ohne dein Projekt zu trennen. Du behältst eine API, während jede Plattform ihre eigene Sprache spricht.

Quick Check

Stellen wir sicher, dass der Kerngedanke angekommen ist.

Recap

Du hast gelernt, warum es expect/actual gibt: Es ermöglicht gemeinsamer Code-Basis, plattformspezifisches Verhalten über eine einzige API aufzurufen, die zur Kompilierzeit ohne Laufzeitkosten aufgelöst wird. 🎉

Häufig gestellte Fragen

Ist die Lektion „Warum expect/actual existiert“ kostenlos?

Ja — der vollständige Text von „Warum expect/actual existiert“ 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 Multiplatform Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Kotlin Multiplatform Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Warum expect/actual existiert“?

Der Mechanismus für plattformspezifisches Verhalten hinter einer gemeinsamen API Du übst Kotlin Multiplatform 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 Multiplatform Academy zu starten?

Keine Vorkenntnisse erforderlich. Kotlin Multiplatform 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 „Warum expect/actual existiert“?

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 Multiplatform Academy-Lektion Code schreiben und ausführen?

Ja. Jede Kotlin Multiplatform 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. Warum expect/actual existiert
  2. Den Plattformnamen pro Target ermitteln
  3. expect/actual-Klassen und -Properties
  4. Häufige Fehler und Compiler-Fehlermeldungen
← Zurück zu Kotlin Multiplatform Academy