Каким образом осуществляется процесс кросс-компиляции в Kotlin Multiplatform?

В Kotlin Multiplatform процесс кросс-компиляции позволяет писать общий код, который затем компилируется в разные целевые платформы (JVM, JavaScript, Native).

Короткий ответ

Что ответить на собеседовании

В Kotlin Multiplatform процесс кросс-компиляции позволяет писать общий код, который затем компилируется в разные целевые платформы (JVM, JavaScript, Native).

Подробный разбор

Ответ с пояснениями

В Kotlin Multiplatform процесс кросс-компиляции позволяет писать общий код, который затем компилируется в разные целевые платформы (JVM, JavaScript, Native).

Основные шаги:

  1. В build.gradle.kts указываются таргеты (targets), например jvm(), js(), ios().

  2. Общий код пишется в общем модуле (commonMain), а специфичный для платформы — в соответствующих sourceSet.

  3. При сборке Gradle запускает компиляцию для каждого таргета, используя соответствующие компиляторы:

    • Kotlin/JVM компилирует в байткод JVM
    • Kotlin/JS компилирует в JavaScript
    • Kotlin/Native компилирует в нативный код для iOS, Linux и др.

Таким образом, один и тот же исходный код преобразуется в разные бинарные артефакты для каждой платформы.

Пример конфигурации в build.gradle.kts:

kotlin {
    jvm()
    js(IR) { browser() }
    ios()

    sourceSets {
        val commonMain by getting
        val jvmMain by getting
        val jsMain by getting
        val iosMain by getting
    }
}

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку