Назад к вопросам
Junior — Middle
67
Можешь рассказать о ключевых концепциях Kotlin Multiplatform и как они реализуются?
Ответ от нейросети
sobes.tech AI
Kotlin Multiplatform (KMP) позволяет писать общий код, который может работать на разных платформах: Android, iOS, JVM, JavaScript и других. Основные концепции:
- Общий (common) код — код, который пишется один раз и используется на всех платформах.
- Платформенно-специфичный код — код, реализующий особенности конкретной платформы (например, доступ к API iOS или Android).
- expect/actual — механизм, позволяющий объявлять в общем коде интерфейсы или функции с ключевым словом
expect, а реализовывать их в платформенно-специфичных модулях с помощьюactual.
Пример:
// commonMain
expect fun getPlatformName(): String
// androidMain
actual fun getPlatformName() = "Android"
// iosMain
actual fun getPlatformName() = "iOS"
Такой подход позволяет переиспользовать бизнес-логику и минимизировать дублирование кода, сохраняя при этом доступ к специфичным возможностям каждой платформы.