Можно ли использовать Compose Foundation для Desktop

«Можно ли использовать Compose Foundation для Desktop» — вопрос из категории Jetpack Compose, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, Compose Foundation можно использовать для Desktop, так как Jetpack Compose Multiplatform поддерживает не только Android, но и Desktop (Windows, macOS, Linux) через Kotlin Multiplatform.

Пример простого Desktop-приложения:

import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.Text
import androidx.compose.ui.window.Window
import androidx.compose.ui.window.application

fun main() = application {
    Window(onCloseRequest = ::exitApplication, title = "Compose Desktop") {
        Column(Modifier.fillMaxSize()) {
            Text("Hello, Desktop!")
        }
    }
}

Для работы потребуется добавить зависимости в build.gradle.kts:

kotlin {
    jvm("desktop") {
        compilations.all {
            kotlinOptions.jvmTarget = "11"
        }
    }
}
dependencies {
    implementation("org.jetbrains.compose.foundation:foundation-desktop:1.6.0")
}

Compose Foundation для Desktop предоставляет те же базовые компоненты (Box, Column, Row), но без Material-дизайна (для него есть отдельная библиотека compose.material3).