Архитектура KMP-проектов для Android и Desktop
★ 7.1 · engineering
Архитектура Kotlin Multiplatform — это скилл для Claude Code, который задаёт правила организации source-set'ов, платформенных абстракций, сетевого слоя, базы данных и DI в KMP-проектах, ориентированных на Android и Desktop. Берут, когда нужно структурировать общую кодовую базу так, чтобы бизнес-логика не утекала в платформенный код, когда непонятно, где использовать expect/actual, а где — интерфейс с DI, или когда сборка падает из-за дублирования pure-Kotlin логики между androidMain и jvmMain. Внутри — конкретные правила: commonMain не импортирует java.* и android.*, сетевой слой строится на Ktor без OkHttp, I/O идёт через Okio, конкурентность — через kotlinx.coroutines с ioDispatcher из core:di вместо прямых Dispatchers.IO, BLE — через Kable, Room KMP собирается через MeshtasticDatabaseConstructor. expect/actual применяется только для низкоуровневых примитивов, где интерфейс невозможен; предпочтительная стратегия — Interface + DI через Koin. Зависимости из каталога gradle/libs.versions.toml, Compose Multiplatform через compose-multiplatform-* алиасы, а не androidx.compose. Направление — архитектурные решения внутри KMP-монорепозитория, а не настройка Gradle с нуля или написание UI-кода. Подойдёт командам, строящим общий код под Android и Desktop (JVM); не покрывает iOS-специфику и не заменяет документацию Kotlin Multiplatform.
- #kotlin-multiplatform
- #kmp
- #architecture
- #networking
- #platform-integration