Да, работал. Создавал общую логику для iOS и Android на Kotlin Multiplatform Mobile (сейчас в составе Kotlin Multiplatform).
Использовал Ktor для сетевых запросов, SQLDelight для работы с базой данных и Koin для зависимостей.
Разрабатывал следующие слои:
UI слой оставался платформозависимым.
Основные преимущества, которые выделил:
Выделил также сложности:
Рассмотрю пример простого класса из общего модуля:
kotlin
В данном примере Platform является ожидаемым (expect) классом, реализация которого предоставляется на каждой платформе (actual). Greeting использует этот класс для формирования приветствия.
Опыт работы с KMP, хотя и не был основным фокусом, показал потенциал для ускорения разработки и унификации логики в кросс-платформенных проектах.