Sobes.tech
Junior — Middle

Vai vari pastāstīt par Kotlin Multiplatform galvenajām koncepcijām un kā tās tiek īstenotas?

sobes.tech AI

Atbilde no 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"

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