Kotlin Многоплатформенность
Технология Kotlin Многоплатформенность разработана для упрощения разработки кроссплатформенных проектов. Она сокращает время, затрачиваемое на написание и сопровождение одного и того же кода для различных платформ, сохраняя при этом гибкость и преимущества нативной разработки.
Примеры использования Kotlin Многоплатформенности
Приложения для Android и iOS
Одним из основных примеров использования Kotlin Многоплатформенности является совместное использование кода между мобильными платформами. С помощью Kotlin Multiplatform Mobile можно создавать кроссплатформенные мобильные приложения и совместно использовать общий код между Android и iOS, например, бизнес-логику, подключение и многое другое.
Ознакомьтесь с руководствами Начало работы с Kotlin Multiplatform Mobile и Создание многоплатформенного приложения с использованием Ktor и SQLDelight, где вы создадите приложения для Android и iOS, включающие модуль с общим кодом для обеих платформ.
Веб-приложения полного стека
Ещё одним сценарием, где совместное использование кода может принести пользу, является подключенное приложение, где логика может повторно использоваться как на серверной, так и на клиентской стороне, работающей в браузере. Kotlin Многоплатформенность также поддерживает этот случай.
См. руководство Создание веб-приложения полного стека с Kotlin Многоплатформенностью, где вы создадите подключенное приложение, состоящее из серверной части, использующей Kotlin/JVM, и веб-клиента, использующего Kotlin/JS.
Многоплатформенные библиотеки
Kotlin Многоплатформенность также полезна для авторов библиотек. Вы можете создать многоплатформенную библиотеку с общим кодом и его платформенно-специфическими реализациями для платформ JVM, JS и Native. После публикации многоплатформенную библиотеку можно использовать в других кроссплатформенных проектах в качестве зависимости.
См. руководство Создание и публикация многоплатформенной библиотеки, где вы создадите многоплатформенную библиотеку, протестируете её и опубликуете в Maven.
Общий код для мобильных и веб-приложений
Ещё один популярный случай использования Kotlin Многоплатформенности — это совместное использование одного и того же кода в приложениях для Android, iOS и веб-приложений. Это уменьшает количество бизнес-логики, кодируемой разработчиками фронтенда, и помогает эффективнее реализовывать продукты, уменьшая усилия по кодированию и тестированию.
См. пример проекта RSS Reader — кроссплатформенное приложение для iOS и Android с десктопными и веб-клиентами, реализованными как экспериментальные функции.
Как работает Kotlin Многоплатформенность

Общий Kotlin включает язык, основные библиотеки и базовые инструменты. Код, написанный на общем Kotlin, работает везде на всех платформах.
С помощью многоплатформенных библиотек Kotlin можно повторно использовать многоплатформенную логику в общем и платформенно-специфичном коде. Общий код может полагаться на набор библиотек, охватывающих повседневные задачи, такие как HTTP, сериализация и управление сопроцессами.
Для взаимодействия с платформами используйте платформенно-специфические версии Kotlin. Платформенно-специфические версии Kotlin (Kotlin/JVM, Kotlin/JS, Kotlin/Native) включают расширения языка Kotlin, а также платформенно-специфические библиотеки и инструменты.
Через эти платформы можно получить доступ к родному коду платформы (JVM, JS и Native) и использовать все возможности нативных платформ.
Совместное использование кода между платформами
С помощью Kotlin Многоплатформенности тратьте меньше времени на написание и сопровождение одинакового кода для различных платформ — просто поделитесь им с помощью механизмов, предоставляемых Kotlin:
Поделитесь кодом между всеми платформами, используемыми в вашем проекте. Используйте его для совместного использования общей бизнес-логики, которая применима ко всем платформам.
-
Поделитесь кодом между некоторыми платформами, включёнными в ваш проект, но не со всеми. Делайте это, когда вы можете повторно использовать большую часть кода на похожих платформах:
Если вам нужно получить доступ к платформенно-специфичным API из общего кода, используйте механизм Kotlin ожидаемых и фактических объявлений.
Начало работы
Начните с Начала работы с Kotlin Multiplatform Mobile, если вы хотите создать приложения для iOS и Android с общим кодом.
Посмотрите принципы и примеры совместного использования кода, если хотите создать приложения или библиотеки, ориентированные на другие платформы.
Примеры проектов
Просмотрите примеры кроссплатформенных приложений, чтобы понять, как работает Kotlin Многоплатформенность:
© 2010–2023 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/multiplatform.html