Что такое Kotlin Multiplatform

Kotlin Multiplatform (KMP) — это open-source технология JetBrains, которая позволяет переиспользовать код для Android, iOS, desktop, web и server-side разработки, сохраняя преимущества нативной разработки.

С Compose Multiplatform можно также переиспользовать UI-код на нескольких платформах и добиться максимального повторного использования кода. Статус поддержки платформ описан в разделе Stability of supported platforms.

Почему компании выбирают KMP

Экономия затрат и более быстрая поставка

Kotlin Multiplatform помогает упростить и технические, и организационные процессы:

  • Вы можете сократить дублирование и расходы на сопровождение, переиспользуя логику и UI-код на разных платформах. Это также позволяет выпускать функции одновременно для нескольких платформ.
  • Командная работа становится проще, потому что единая логика доступна в общем коде. Это упрощает передачу знаний между участниками команды и снижает дублирование усилий между платформенными командами.

Помимо более быстрого вывода продукта на рынок, по результатам KMP Survey Q2 2024 55% пользователей сообщили об улучшении совместной работы после внедрения KMP, а 65% команд — об улучшении производительности и качества.

KMP используется в production в организациях разного масштаба: от стартапов до глобальных компаний. Google, Duolingo, Forbes, Philips, McDonald’s, Bolt, H&M, Baidu, Kuaishou, Bilibili и другие команды выбирают KMP за гибкость, нативную производительность, возможность создавать нативный пользовательский опыт, экономичность и поддержку постепенного внедрения. Подробнее см. на странице кейсов внедрения Kotlin.

Гибкость переиспользования кода

Вы сами выбираете, какой код делать общим: можно начать с отдельных модулей, например networking или storage, и постепенно расширять общий код. Можно переиспользовать всю бизнес-логику, оставив UI нативным, или постепенно переносить UI на Compose Multiplatform.

Нативный опыт на iOS

UI можно полностью писать на SwiftUI или UIKit, создавать единый опыт для Android и iOS с помощью Compose Multiplatform или комбинировать нативный и общий UI-код в нужных частях приложения.

Какой бы подход вы ни выбрали, приложение может ощущаться нативным на каждой платформе.

Нативная производительность

Kotlin Multiplatform использует Kotlin/Native, чтобы создавать нативные бинарные файлы и напрямую обращаться к API платформы там, где виртуальные машины нежелательны или невозможны, например на iOS.

Это помогает получать близкую к нативной производительность, продолжая писать платформенно-независимый код.

Удобные инструменты

IntelliJ IDEA и Android Studio предоставляют умную поддержку KMP с Kotlin Multiplatform IDE plugin, общие UI previews, hot reload для Compose Multiplatform, навигацию между языками, рефакторинги и отладку Kotlin- и Swift-кода.

Разработка с поддержкой AI

Junie — AI coding agent от JetBrains — может брать на себя задачи по KMP и помогать команде двигаться быстрее.

Изучите сценарии Kotlin Multiplatform

Посмотрите, как компании и разработчики уже используют преимущества общего Kotlin-кода:

Изучите основы

Чтобы быстро увидеть KMP в действии, пройдите quickstart: вы настроите окружение и запустите пример приложения на разных платформах.

Выберите сценарий:

Углубитесь в технические детали:

Внедрите Kotlin Multiplatform в масштабе

Внедрение кроссплатформенного фреймворка в команде может быть непростой задачей. Чтобы узнать о преимуществах и решениях потенциальных проблем, посмотрите обзорные материалы:

Что дальше