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

Если вам нужно получить доступ к платформо-специфичным API из общего кода, используйте механизм Kotlin ожидаемых и фактических объявлений.
Начало работы
Просмотрите наши примеры и учебные пособия, если хотите создать приложения или библиотеки, предназначенные для JVM, JavaScript и других платформ
Начните с Начало работы с Kotlin Multiplatform Mobile, если хотите создать приложения для iOS и Android с общим кодом
Примеры проектов
Просмотрите примеры кроссплатформенных приложений, чтобы понять, как работает Kotlin Multiplatform:
© 2010–2022 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/multiplatform.html