Spec-Zone.ru › Kotlin 2

Руководство по началу работы с Kotlin Multiplatform

С чего начать

  1. Узнайте о Kotlin Multiplatform (KMP) и Compose Multiplatform (CMP): что это такое, в чём их преимущества и где их можно использовать.

  2. Попробуйте KMP на примере проекта, чтобы узнать, как он организован и как работает на разных платформах.

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

К основам относятся:

  • Узнайте, как организован проект KMP / CMP. Здесь рассматриваются:

    • Общий и платформозависимый код в общем модуле.

    • Объявления для целевых платформ.

  • Добавление зависимостей в проект KMP.

    • Практический пример организации мультиплатформенных и платформозависимых зависимостей можно найти в нашем примере.

    • Руководство, которое поможет привести проект к итоговому состоянию этого примера, доступно в документации.

  • Если вы уже знакомы с KMP, ознакомьтесь с рекомендуемой структурой проекта для типичного проекта. В ней учтено, как выпуск Android Gradle Plugin 9.0 повлиял на требования к проектам KMP, а также рассматриваются:

    • Структура модулей (независимые модули приложений с модулями общего кода, используемыми в качестве библиотек).

    • Создание новых модулей приложений и переход со старой структуры, использовавшейся в AGP 8.

  • Рекомендуемое видео о структуре проекта, записанное разработчиком-евангелистом JetBrains.

Повторно используйте код

В проекте KMP можно повторно использовать код разными способами с учётом особенностей платформ:

  • Основные примеры вызова общего кода из модулей приложения приведены в обучающих руководствах для новых пользователей:

    • для нативного интерфейса и общей логики

    • для общего интерфейса и логики

  • Как получить доступ к платформозависимым API:

    • По возможности используйте мультиплатформенные библиотеки.

    • Если подходящей мультиплатформенной библиотеки нет, используйте механизм expect/actual.

  • Вызов общего кода Kotlin из Android Kotlin обычно не вызывает затруднений, но для работы с совместимостью с iOS потребуется немного разобраться:

    • Как правило, чем меньше взаимодействия между платформами, тем лучше. Поэтому для более удобной работы рекомендуем использовать Compose Multiplatform для создания большей части интерфейса на всех платформах.

    • Узнайте, как интегрировать общий код с приложением для iOS (во всех примерах, упомянутых в этом документе, настроена интеграция с iOS).

      Менеджер пакетов CocoaPods постепенно уступает место Swift Package Manager, поэтому мы не рекомендуем использовать его в новых проектах.

    • Изучите пример и руководство, в которых показано, как обеспечить работу корутин Kotlin с iOS.

    • Ознакомьтесь с руководством по использованию существующих пакетов SPM в приложении KMP для iOS.

    • Прочитайте подробное объяснение вызова Swift / ObjC из Kotlin и наоборот.

    • Узнайте о более простом подходе — экспорте Swift (сейчас он находится на этапе Alpha).

Изучите экосистему

Полный каталог мультиплатформенных библиотек доступен на сайте klibs.io:

  • Для большинства распространённых задач уже существуют надёжные решения, обычно с доступными альтернативами: SQLDelight и Room для работы с базами данных, Ktor и OkHttp для работы с сетью, Coil для загрузки изображений и так далее.

  • Доступны примеры приложений, в которых мультиплатформенные библиотеки используются для решения наиболее распространённых задач:

    • SQLDelight / Ktor / kotlinx-serialization / Koin и соответствующее руководство.

    • Мультиплатформенное приложение Jetcaster, преобразованное из исходного примера для Android.

Создайте библиотеку KMP

Если вы решили упаковать общий код в мультиплатформенную библиотеку, ознакомьтесь со следующими страницами документации:

  • Основное руководство по созданию библиотеки

  • Настройка публикации библиотеки KMP

  • Руководства по публикации артефактов в Maven Central и npm

Опубликуйте артефакты

  • Прочитайте общую статью о публикации приложений KMP.

  • Не забудьте о манифесте конфиденциальности, который требуется Apple App Store.

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

Перед началом работы

Воспользуйтесь бесплатным доступом к Junie

Junie — это ИИ-агент JetBrains. Участникам Shipaton JetBrains предоставляет бесплатный доступ к EAP-версии агента командной строки Junie. Вы также можете пользоваться агентом Junie через функцию чата с ИИ в IDE IntelliJ.

Получить доступ к Junie

Создайте и добавьте в репозиторий файл AGENTS.md

ИИ-агенты активно используют файлы AGENTS.md при изучении незнакомой кодовой базы. Точный и полный контекст может заметно повысить качество их выводов и сгенерированного кода. Например, простое указание на то, что в проекте используется Kotlin Multiplatform, поможет избежать многих проблем при разработке для нескольких платформ.

Чтобы узнать о формате и посмотреть примеры, посетите сайт AGENTS.md.

Настройте полезные MCP-серверы

Следующие MCP-серверы могут быть полезны ИИ-агенту при создании приложения с использованием KMP:

  • Сервер klibs.io помогает найти подходящую мультиплатформенную библиотеку.

  • Сервер Compose Hot Reload позволяет агенту быстро вносить изменения в интерфейс.

Создавайте функциональность

Используйте режим планирования

Для крупных задач и распределённой работы большинство агентов поддерживают режим планирования, который помогает разбить задачу на части и составить понятную пошаговую инструкцию. Её можно проверить до того, как начнётся непосредственная генерация кода.

Если уделить время проверке и доработке результатов, полученных в режиме планирования, обычно это значительно улучшает качество реализации:

  • пользовательских функций с нуля;

  • архитектурных изменений;

  • интеграции библиотек;

  • масштабного рефакторинга.

Проверяйте изменения, созданные ИИ

Помимо общей недетерминированности ИИ, Kotlin Multiplatform создаёт многоаспектный контекст, который сложно охватить полностью. Например, изменения могут быть хорошо реализованы и работать на одной платформе, но нарушать работу на другой.

Чтобы избежать этого, рекомендуется определить конкретные критерии приёмки:

  • После внесения изменений запускайте тесты для целевых платформ, если такие тесты доступны.

  • Прежде чем считать задачу выполненной, убедитесь, что сборка успешно проходит для всех настроенных целевых платформ KMP.

  • Проверьте реализацию на утечку платформозависимых API в общий код: это может побудить агентов (и людей) использовать такие API на следующих этапах.

Используйте навыки ИИ для Kotlin

Команда Kotlin разрабатывает и поддерживает навыки ИИ для решения задач, связанных с Kotlin. Ознакомьтесь с репозиторием навыков и установите подходящие навыки для своего агента.

Используйте Swift Package Manager для интеграции нативных библиотек iOS

Если для нужной вам функциональности iOS пока нет мультиплатформенной библиотеки, может потребоваться интегрировать нативные библиотеки iOS. Для настройки таких зависимостей мы рекомендуем использовать пакеты SwiftPM и соответствующий DSL.

Команда Kotlin поддерживает навык ИИ для миграции с CocoaPods на SwiftPM, который также может помочь настроить интеграцию со SwiftPM с нуля.

Настройте оркестрацию агентов

JetBrains Air предлагает оркестрацию агентов, которая помогает ускорить работу, координируя нескольких агентов, одновременно работающих над разными частями проекта.

Попробовать Air

Работайте над интерфейсом

Используйте Figma для создания макетов интерфейса и кода Compose

MCP-сервер Figma помогает преобразовывать макеты в код Compose.

Чтобы создавать макеты интерфейса с нуля, попробуйте Google Stitch или Figma Make.

Используйте Gemini CLI в качестве агента для задач с интерфейсом Compose

Мы неизменно получаем хорошие результаты при генерации кода Compose с помощью модели Google, включая модели из семейства Flash. Она обеспечивает хороший баланс между скоростью генерации, расходом токенов и качеством интерфейса.

Используйте Compose Hot Reload для работы над интерфейсом

Compose Hot Reload позволяет обновлять интерфейс почти в реальном времени при изменении кода Compose вами или вашим агентом.

Чтобы помочь агентам работать с интерфейсом, добавьте MCP-сервер Compose Hot Reload в конфигурацию агента. Агент сможет запускать перезагрузку напрямую, делать снимки экрана и даже взаимодействовать с интерфейсом.

Каталог учебных материалов

Все упомянутые материалы, а также более подробные руководства и сторонние ресурсы собраны на странице «Учебные материалы».

29 июля 2026 г.
Kotlin Multiplatform для iOS: мифы об интеграции, производительности и рабочем процессе

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/multiplatform/shipathon-starter-guide.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API