Mobile/journal
Kotlin Multiplatform Mobile
Kotlin Multiplatform Mobile в 2023: пора брать в продакшн?
← ЖурналMobile7 мин чтения

Kotlin Multiplatform Mobile в 2023: пора брать в продакшн?

Команда nordiqdev
студия

Kotlin Multiplatform Mobile - третий путь между нативной и кросс-платформенной разработкой. UI на каждой платформе свой, бизнес-логика - общая. Мы проверили этот подход на двух коммерческих проектах.

Чем KMM отличается от Flutter и React Native

Flutter и RN рисуют свой UI. KMM шарит только бизнес-логику и data-слой, UI - нативный SwiftUI на iOS и Compose на Android. Это убирает главную боль кросс-платформы (UI feel) ценой того, что часть кода всё равно дублируется.

Что в KMM уже работает

  • Сетевой слой через Ktor - работает идентично на обеих платформах.
  • Локальная БД через SQLDelight - типобезопасные SQL-запросы, общие на iOS и Android.
  • Бизнес-логика и валидация - пишется один раз.
  • Coroutines + Flow - работают и на iOS (через KotlinX-coroutines).
  • Сериализация через kotlinx.serialization - общая для всего проекта.

Что всё ещё сырое

  • Compose Multiplatform UI - за пределами Android в 2023-м только для отчаянных.
  • Интеграция со Swift в iOS-проекте - Objective-C-headers, ругань на нативные generics.
  • Cocoapods-обвязка - местами хрупкая, обновления KMM ломают сборку.
  • Документация - лучше, чем была, но провалы в краях ниши заметны.

Кому стоит брать

Командам с двумя нативными приложениями, которые устали дублировать бизнес-логику. KMM позволяет сэкономить 30–40% времени на повторяющихся задачах, не жертвуя UI-качеством. Особенно хорошо подходит для финтех, где модели данных большие и сложные, а UI - относительно простой.

Кому не стоит

  • Стартапу с одним инженером - учиться двум платформенным UI-фреймворкам долго.
  • Проекту, где UI - основная сложность, а данные - простые.
  • Команде, где нет ни одного человека с опытом Kotlin.
Теги
#kotlin#kmm#multiplatform#mobile#android#ios
Студия nordiqdev

Делаем мобильные приложения, веб-сервисы и AI на заказ

Если задача из текста выглядит знакомой и нужна команда, которая соберёт продукт - расскажите подробнее. Вернёмся в течение 24 часов с разбором.