Cases


https://developer.android.com/kotlin/multiplatform
https://kotlinlang.org/docs/native-overview.html
28.07.2024 https://youtu.be/6NM4Xzbficw
11.04.2024 https://youtu.be/pTyWagI8G5g
21.09.2023 https://youtu.be/i45sp7O_RUc
https://kmp.jetbrains.com/#newProject
30.04.2024 https://www.jetbrains.com/help/kotlin-multiplatform-dev/multiplatform-samples.html
16.04.2024 https://www.jetbrains.com/help/kotlin-multiplatform-dev/multiplatform-ktor-sqldelight.html
https://klibs.io/

Kotlin Multiplatform (KMP)

Это SDK, предназначенный для упрощения разработки кроссплатформенных мобильных приложений. Вы можете использовать общий код между приложениями iOS и Android и писать код для конкретной платформы только там, где это необходимо. Например, для реализации собственного пользовательского интерфейса или при работе с API для конкретной платформы.

• Не поддерживаются resources в разных модулях. все ресурсы должны лежать в 1 модуле.

Kotlin Native

Технология компиляции Kotlin-кода в нативные двоичные файлы которые могут запускаться без виртуальной машины. В первую очередь предназначен для платформ на которых виртуальные машины невозможны или нежелательны, например на iOS. Kotlin Native поддерживает macOS, iOS, tvOS, watchOS, Linux, Windows (MinGW), Android NDK.

Best Practices

• Следить за совместимостью библиотек. многие библиотеки используют compose под капотом. обновил версию и в runtime что-то падает из-за отсутствия бинарной совместимости.

• Отделять общую логику от платформенных деталей. ограничивать использование Сontext и Application.

Совместимость с Java

UUID. В KMP делать реализацию через expect/actual.

TimeUnit. В KMP использовать kotlin.time.Duration.