Kotlin Multiplatform
Мультиплатформенные проекты находятся в стадии альфа-тестирования. Особенности языка и инструментарий могут быть изменены в будущих версиях Kotlin.
Поддержка мультиплатформенного программирования является одним из ключевых преимуществ Kotlin. Она сокращает время, затрачиваемое на написание и поддержку одного и того же кода для разных платформ, сохраняя при этом гибкость и преимущества нативного программирования.
Примеры использования Kotlin Multiplatform
Android и iOS приложения
Использование одного кода на всех мобильных платформах является одним из основных вариантов использования Kotlin Multiplatform. С помощью Kotlin Multiplatform Mobile вы можете создавать мультиплатформенные мобильные приложения, совместно использующие один код и в Android, и в iOS, например бизнес-логику, возможности подключения и многое другое.
Ознакомьтесь с разделом Начало работы с Kotlin Multiplatform Mobile и Kotlin Multiplatform Hands-on: Сети и хранение данных, где вы создадите приложение для Android и iOS, включающее модуль с общим кодом для обеих платформ.
Фулстек веб-приложения
Другой сценарий, когда совместное использование кода может принести пользу, — это приложение, в котором логика может быть повторно использована как на стороне сервера, так и на стороне клиента, запущенного в браузере. С этим Kotlin Multiplatform тоже прекрасно справляется.
См. руководство Создание фулстек веб-приложения с помощью Kotlin Multiplatform, где вы создадите приложение, состоящее из серверной части с использованием Kotlin/JVM и веб-клиента с использованием Kotlin/JS.
Мультиплатформенные библиотеки
Kotlin Multiplatform также отлично подойдет для авторов библиотек. Вы можете создать мультиплатформенную библиотеку с общим кодом и ее платформенными реализациями для JVM, JS и собственных платформ. После публикации мультиплатформенная библиотека может использоваться в других кроссплатформенных проектах в качестве зависимости.
См. руководство Создание и публикация мультиплатформенной библиотеки, в котором вы создадите мультиплатформенную библиотеку, протестируете ее и опубликуете в 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? Посетите Начало работы с Kotlin.
Примеры проектов
Просмотрите примеры кроссплатформенных приложений, чтобы понять, как работает Kotlin Multiplatform: