Kotlin Multiplatform (KMP) позволяет делиться общим кодом — таким как бизнес-логика, модели данных и сетевые запросы — между несколькими платформами, включая Android, iOS, веб, десктоп и бэкенд, при этом позволяя каждой платформе иметь собственную реализацию UI.
Основной механизм для работы с различиями между платформами — это паттерн объявления expect/actual:
expect определяет общий интерфейс в общем кодеactual предоставляет платформенную реализацию// Common code
expect fun getPlatformName(): String
// Android actual
actual fun getPlatformName(): String = "Android"
// iOS actual
actual fun getPlatformName(): String = "iOS"
KMP-проекты обычно организованы в source sets:
commonMain — общая логика, используемая всеми платформамиandroidMain, iosMain и т.д. — платформенные реализацииКлючевое слово expect определяет платформенно-специфичную реализацию, а ключевое слово actual предоставляет общий интерфейс, которому должны соответствовать все платформы.
Новый — ещё не проверен сообществом
Вы