Реактивный ранец

Как сделать настольное приложение Jetpack Compose

Практическое руководство

В этом руководстве вы изучите минимум для создания настольного приложения HelloWorld с помощью Jetpack Compose for Desktop в Kotlin.

  • Уровень: для новичков в написании для ПК.
  • Требования: установлена ​​Java.
  • Окончательный образец: github.
  • Окончательный интерфейс:

1. Настройте проект

Во-первых, для настройки проекта вам понадобится скелет проекта Gradle с корнем build.gradle, settings.gradle и app/build.gradle.
Давайте сделаем это, используя kts файлов, чтобы использовать только один язык: Kotlin ❤️

build.gradle.kts
Создайте build.gradle.kts в корне проекта со следующим, чтобы определить проект gradle с компоновкой maven.

settings.gradle.kts
Добавьте в корень проекта settings.gradle.kts для определения имени проекта и gradle модуля app.

rootProject.buildFileName = "build.gradle.kts"
rootProject.name = "medium-proto"
include(":app")

app/build.gradle.kts
Добавьте в app/build.gradle.kts плагин для создания:

plugins {
    kotlin("jvm")
    // https://github.com/JetBrains/compose-jb/releases
    id("org.jetbrains.compose") version "1.2.0-alpha01-dev686"
}

Затем добавьте зависимость:

dependencies {
    implementation(compose.desktop.currentOs)
}

Наконец, определите точку входа приложения:

compose.desktop.application.mainClass = "com.medium.MainKt"

Последние штрихи

Затем, чтобы скомпилировать приложение, добавьте в корень проекта файл gradlew и папку gradle. Вот как получить файл. В MacOS вы можете сделать это с помощью этой команды в корневом проекте: brew install gradle && gradle wrapper.

2. Создайте основной вид

Создайте файл kotlin app/src/main/kotlin/com/medium/Main.kt с

Этот файл содержит определение приложения с окном, содержащим

  • onCloseRequest: Закрытие приложения при нажатии кнопки закрытия окна.
  • state: Размер окна в dp, метрическая мера.
  • title: заголовок на верхней панели окна.

Внутри лямбды метода Window вы можете написать код JetPack Compose «как» в приложении для Android. Здесь было добавлено Box в max-width и max-height, чтобы центрировать текст в окне. Box — это контейнер, который позволяет Text иметь выравнивание Center.

3. Соберите и запустите приложение

Получите разрешение на запуск скрипта через команду chmod 755 ./gradlew
Затем запустите ./gradlew run и тада:

Спасибо команде JetBrains и участникам JetPack Compose и JetPack Compose Desktop.

Дальше

  • Как создать установочный файл MacOS pkg, чтобы избежать использования jar: используйте jpackage
  • Как добавить иконку приложения: образцы cf в этом проекте
  • Как выпустить как нативное приложение, чтобы избежать jvm: cf этот же репозиторийy