Back to questions
Junior — Middle
81
Каким образом осуществляется процесс кросс-компиляции в Kotlin Multiplatform?
Answer from AI
sobes.tech AI
В Kotlin Multiplatform процесс кросс-компиляции позволяет писать общий код, который затем компилируется в разные целевые платформы (JVM, JavaScript, Native).
Основные шаги:
- В build.gradle.kts указываются таргеты (targets), например
jvm(),js(),ios(). - Общий код пишется в общем модуле (
commonMain), а специфичный для платформы — в соответствующих sourceSet. - При сборке 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
}
}