Примеры Kotlin Multiplatform
Это тщательно подобранный список проектов, призванный показать надежные и уникальные способы применения Kotlin Multiplatform.
В некоторых проектах почти весь код общий, а для пользовательского интерфейса используется Compose Multiplatform. В других для пользовательского интерфейса используется нативный код, а общими являются, например, только модель данных и алгоритмы. Чтобы создать совершенно новое приложение Kotlin Multiplatform, рекомендуем воспользоваться веб-мастером.
Еще больше примеров проектов можно найти на GitHub по теме kotlin-multiplatform-sample. Чтобы ознакомиться со всей экосистемой, изучите тему kotlin-multiplatform.
Официальные примеры JetBrains
Название |
Описание |
Что используется совместно? |
Примечательные библиотеки |
Пользовательский интерфейс |
|---|---|---|---|---|
Приложение-компаньон для KotlinConf. Клиентское приложение для Android, iOS, настольных компьютеров и веба создано с общим пользовательским интерфейсом на Compose Multiplatform. Серверное приложение работает на серверном фреймворке Ktor и библиотеке для работы с базами данных Exposed. |
|
|
|
|
Приложение для создания, просмотра и хранения изображений. Поддерживает карты. Для пользовательского интерфейса используется Compose Multiplatform. Представлено на KotlinConf 2023. |
|
|
|
|
Пример встраивания компонентов Compose Multiplatform в интерфейс SwiftUI. Сценарий использования — обмен сообщениями в интернете. |
|
|
||
Пример приложения Jetcaster на Compose адаптирован для нескольких платформ: к исходной версии для Android добавлены платформы iOS и настольных компьютеров. Пользовательский интерфейс перенесен на Compose Multiplatform, а несколько библиотек заменены их многоплатформенными версиями или аналогами. Обоснование и процесс переноса описаны в руководстве по переносу Jetcaster. |
|
|
|
|
Пример приложения для чтения RSS-лент, созданный для демонстрации использования Kotlin Multiplatform в производственной среде. Пользовательский интерфейс реализован нативно, но в экспериментальной ветке показано, как Compose Multiplatform можно использовать на iOS и настольных компьютерах. Для работы с сетью используется HTTP-клиент Ktor, а разбор XML реализован нативно. Для совместного использования состояния пользовательского интерфейса применяется архитектура Redux. |
|
|
|
|
Простое приложение-калькулятор. Показывает, как интегрировать Kotlin и нативный код с помощью ожидаемых и фактических объявлений. |
Алгоритмы |
|
Рекомендуемые примеры
Название |
Описание |
Что используется совместно? |
Примечательные библиотеки |
Пользовательский интерфейс |
|---|---|---|---|---|
Демонстрация множества различных возможностей Kotlin Multiplatform и Compose Multiplatform. Сценарий использования — приложение для получения и отображения информации о расписании конференций. Поддерживаются платформы Wear и Auto. Для обмена данными между клиентом и сервером используется GraphQL. Архитектура подробно обсуждается в докладе на KotlinConf 2023. |
|
|
|
|
Демонстрация множества платформ, на которых может работать Kotlin Multiplatform. Приложение показывает, сколько людей сейчас находится в космосе, а также положение Международной космической станции. |
|
|
|
|
Приложение для просмотра программы мероприятий Droidcon, использующее API Sessionize. Его можно настроить для любого мероприятия, в котором доклады хранятся в Sessionize. Интегрировано с Firebase, поэтому для работы требуется учетная запись Firebase. |
|
|
|
|
Набор кода и инструментов для разработки на Kotlin Multiplatform. Предназначен для демонстрации библиотек, архитектурных решений и лучших практик создания приложений Kotlin Multiplatform. Сценарий использования — загрузка и отображение информации о породах собак. Представлен в этом видеоруководстве. |
|
|
|
Другие примеры от сообщества
Название |
Описание |
Что используется совместно? |
Примечательные библиотеки |
Пользовательский интерфейс |
|---|---|---|---|---|
Версия приложения New York Times на основе Compose Multiplatform. Позволяет пользователям просматривать и читать статьи. Обратите внимание: для сборки и запуска приложения потребуется ключ API от New York Times. |
|
|
|
|
Приложение для повышения продуктивности и управления временем. Позволяет пользователям планировать задачи и дает обратную связь об их достижениях. |
|
|
|
|
Демонстрационное приложение для просмотра рецептов. Показывает использование анимации. |
|
|
|
|
Пример приложения для декларативных пользовательских интерфейсов с архитектурой Kotlin Multiplatform. В качестве примера использования приложение получает и отображает статистику вакцинации для разных стран. |
|
|
|
|
Приложение получает данные из The Movie Database, чтобы показывать популярные в данный момент, предстоящие и самые популярные фильмы и телешоу. Для работы необходимо создать ключ API в The Movie Database. |
|
|
|
|
Twine — мультиплатформенное приложение для чтения RSS-лент, созданное с помощью Kotlin и Compose Multiplatform. В приложении реализованы удобный пользовательский интерфейс и возможности для просмотра лент, а также динамическая темизация на основе содержимого Material 3. |
|
|
|
|
Кроссплатформенное приложение, созданное с помощью Jetpack Compose Multiplatform — декларативного фреймворка для совместного использования пользовательских интерфейсов на нескольких платформах с Kotlin. Приложение позволяет пользователям просматривать каталог товаров, искать и покупать товары на Android, iOS, в вебе, на настольных компьютерах, Android Automotive и Android TV. |
|
|
|
|
Приложение демонстрирует взаимодействие с нативными API, такими как MediaPlayer, на разных платформах. Для получения данных используется Spotify API. |
|
|
|
|
Rijksmuseum — многомодульное приложение на Kotlin и Compose Multiplatform, которое позволяет с эффектом погружения знакомиться с коллекцией произведений искусства знаменитого музея Rijksmuseum в Амстердаме. Приложение использует API Rijksmuseum для получения и отображения подробной информации о различных произведениях искусства, включая изображения и описания. |
|
|
|
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/multiplatform/multiplatform-samples.html