Что это простыми словами
Kotlin Multiplatform — это инструмент для создания приложений сразу на несколько платформ: Android, iOS, веб, десктоп. Главная идея: пишешь общую логику один раз на Kotlin, и она работает везде. А то, что специфично для каждой платформы (интерфейс, доступ к камере или геолокации), добавляешь отдельно.
Аналогия: ты делаешь универсальный двигатель, который подходит и для легковушки, и для грузовика. Двигатель один, а кузов и колёса подбираешь под каждую машину отдельно.
Зачем это нужно: чтобы не писать одну и ту же логику дважды — для Android и iOS. Экономит время и снижает количество ошибок.
Официальное определение
Теперь, когда суть понятна, вот как Kotlin Multiplatform описывают в вакансиях и документации. Эту формулировку вы встретите у заказчика и в резюме.
«Kotlin Multiplatform — технология для разработки кросс-платформенных приложений с общей бизнес-логикой и платформо-специфичным UI на базе языка Kotlin».
Разберём по словам. «Кросс-платформенный» — работающий на разных операционных системах и устройствах (Android, iOS, веб, десктоп). «Бизнес-логика» — это правила и алгоритмы работы приложения: как обрабатывать данные, что делать при нажатии кнопки, как проверять корректность введённых данных. «Платформо-специфичный» — написанный под конкретную платформу, потому что каждая ОС по-своему работает с интерфейсом и железом.
Зачем нужен и какую задачу решает
Kotlin Multiplatform решает главную боль кросс-платформенной разработки: дублирование кода. Без него команде нужны два разных разработчика — один пишет приложение для Android, другой то же самое для iOS. Логика одинаковая, а писать приходится дважды. Это дорого, медленно и чревато рассинхронизацией: исправили баг на Android, но забыли на iOS.
С Kotlin Multiplatform общую логику (работа с сервером, обработка данных, валидация) пишут один раз, и она работает на обеих платформах. Интерфейс и нативные возможности (камера, уведомления) добавляются отдельно для каждой платформы.
Итог: меньше кода, меньше ошибок, быстрее выход обновлений.
К кому относится: язык, специальность, экосистема
Kotlin Multiplatform — инструмент на языке Kotlin. Его используют в первую очередь мобильные разработчики, которые делают приложения одновременно для Android и iOS. Также KMP применяется для десктопных приложений и бэкенда, но мобилка — основная сфера.
«Kotlin Multiplatform разработчик» — это мобильный разработчик, который специализируется на кросс-платформенной разработке с помощью KMP.
Вокруг Kotlin Multiplatform выросла своя экосистема — библиотеки, которые вы часто увидите в резюме рядом с ним:
Compose Multiplatform — инструмент для создания интерфейса, который тоже работает на всех платформах. Если KMP отвечает за логику, то Compose — за внешний вид.
SQLDelight — работа с базами данных, тоже кросс-платформенно.
kotlinx.serialization — перевод данных в формат JSON и обратно для обмена с сервером.
С чем взаимозаменяем
Kotlin Multiplatform — один из нескольких инструментов для кросс-платформенной мобильной разработки. Его основные конкуренты — Flutter (работает на языке Dart) и React Native (на JavaScript/React).
Они решают одну задачу: написать приложение один раз и запустить на Android и iOS. Но подходы разные, и опыт между ними почти не переносится. Kotlin Multiplatform-разработчик не равен Flutter- или React Native-разработчику. Переход дорогой: человеку понадобятся месяцы, чтобы освоиться с новым инструментом.
Что не путать
Kotlin Multiplatform ≠ Kotlin: Kotlin — это язык программирования, а Kotlin Multiplatform — фреймворк (инструмент) на этом языке для кросс-платформенной разработки. Можно знать Kotlin и не работать с KMP (например, делать только Android или только бэкенд).
Kotlin Multiplatform ≠ Compose Multiplatform: KMP отвечает за общую логику приложения, а Compose Multiplatform — за интерфейс. Часто они работают вместе, но это разные инструменты. Compose — надстройка над KMP.
Kotlin Multiplatform ≠ Android-разработка: KMP используется для создания приложений сразу для нескольких платформ, включая iOS. Android-разработчик может работать только на Android, без iOS, и не использовать KMP вообще.
«KMP», «KMM» (Kotlin Multiplatform Mobile) и «Kotlin Multiplatform»: раньше технология называлась KMM и была ориентирована только на мобилку, теперь это KMP и охватывает больше платформ. В резюме можете встретить оба названия — это одно и то же.
Насколько это важно при отборе
Короткий ответ: это важная специализация, но не всегда обязательная.
Kotlin Multiplatform — не базовый инструмент, а специализация внутри Kotlin-разработки. Kotlin-разработчик может делать только Android, только бэкенд или только iOS (через KMP) и при этом не иметь опыта с кросс-платформенной разработкой.
Если в вакансии явно указан Kotlin Multiplatform, значит, проект нацелен на несколько платформ одновременно, и опыт кандидата с KMP критичен. Это не просто библиотека, которую можно освоить за неделю, — это архитектурный подход и специфичная экосистема. Переход с чистого Android или с Flutter на KMP требует времени.
Но если кандидат хорошо знает Kotlin, имеет опыт и с Android, и с iOS (пусть и по отдельности), ему будет проще войти в KMP, чем Flutter- или React Native-разработчику.
Правило простое: если в вакансии требуется Kotlin Multiplatform, ищите именно его в резюме. Опыта с обычным Kotlin недостаточно, но это хорошая база для быстрого обучения.
Это общий ориентир. В разных компаниях требования отличаются, поэтому всегда сверяйтесь с текстом конкретной вакансии.