Compose
Multiplatform

Создавайте общие интерфейсы для Android, iOS, десктопных и веб-приложений.

Попробовать
Общие интерфейсы для iOS, Android, десктопных и веб-приложений

Декларативный фреймворк для создания общих интерфейсов для разных платформ. На основе Kotlin и Jetpack Compose.

Разработано JetBrains

Поддерживаемые платформы

  • [object Object] icon
    Альфа-версия
  • [object Object] icon

    через Jetpack Compose

  • [object Object] icon

    Windows, MacOS, Linux

  • [object Object] icon
    Тестируем
  • Ускорение разработки интерфейсов

    Один раз разработав интерфейс, его можно использовать на всех платформах: Android, iOS, в десктопных и веб-приложениях. Вам больше не придется работать над несколькими интерфейсами параллельно, и вы сможете быстрее доставлять приложения пользователям.

    Привычное Android-окружение для других платформ

    Используйте хорошо знакомые API из Jetpack Compose для создания интерфейсов на всех платформах.

    Обширная экосистема

    Широкий выбор готовых библиотек и фреймворков Kotlin позволяет быстро и легко повысить производительность, а доброжелательное сообщество разработчиков всегда готово прийти на помощь.

    Удобная интеграция с любыми платформами

    Благодаря Kotlin Multiplatform вам не придется отказываться от функций и API, которые предлагают привычные вам платформы. Вы получаете удобный доступ ко всем возможностям любых платформ, как при использовании нативных приложений.

    Возможность повторного использования компонентов

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

    Один и тот же код работает на всех платформах

    Button(

    onClick = {

    logger.info("Pressed!")

    }

    ) {

    Text("Hello $platform")

    }

    Сложные компоненты достаточно создать один раз, а затем использовать на разных платформах

    @Serializable

    data class Friend(val name: String)


    @Composable

    fun FriendCard(name: String) {

    var myFriend by remember {

    mutableStateOf<Friend?>(null)

    }

    LaunchedEffect(name) {

    val friend = ktorClient

    .get("$host/$name.json")

    .body<Friend>()

    myFriend = friend

    }...

    Когда мы полностью перевели наше десктопное приложение на Kotlin, продуктивность нашей команды заметно выросла.

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

    Виктор Кропп

    Руководитель команды Toolbox, JetBrains

    Попробуйте Compose Multiplatform

    Разрабатывайте общие интерфейсы для Android, iOS, десктопных и веб-приложений.

    Попробовать