Да, работал.
Использовал Kotlin Multiplatform Mobile (KMM) для создания общей бизнес-логики в iOS и Android приложениях.
Основные преимущества KMM:
Пример использования KMM:
Структура типового KMM-проекта:
shared: Общий модуль.androidApp: Android-приложение, зависящее от shared.iosApp: iOS-приложение, зависящее от shared.Зависимости в KMM описываются в build.gradle.kts shared-модуля с использованием специфичных для платформы блоков:
kotlin
Для взаимодействия с нативным кодом используются механизмы expect/actual:
kotlin
kotlin
kotlin
Сборка iOS фреймворка выполняется с помощью Gradle таска syncFramework:
bash
Фреймворк затем интегрируется в Xcode проект.
Мне нравится подход KMM за возможность переиспользования кода без ущерба для нативного UX.