Desktop
Introducción
Section titled “Introducción”Compose tiene una API sólo para escritorio: Desktop-only API
Crea una aplicación KMP sólo Desktop.
Puedes ejecutar la aplicación con {% link “/kotlin/gradle/” %}:
> .\gradlew packageMsi
Proyecto de soporte: https://gitlab.com/xtec/kotlin/compose/desktop
Componentes
Section titled “Componentes”Windows
Section titled “Windows”Compose ofrece diversas funciones para gestionar ventanas. Puedes ocultarlas en la bandeja, hacerlas arrastrables, adaptar su tamaño, cambiar su posición, etc.
Ver páginas en sitio web.
Distribución nativa
Section titled “Distribución nativa”Todas las tareas disponibles se muestran en la ventana de herramientas de Gradle.
{% image “gradle.png” %}
En el fichero composeApp\build.gradle.kts
está la unidad de configuración application
:
compose.desktop { application { mainClass = "dev.xtec.desktop.MainKt"
nativeDistributions { targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb) packageName = "Desktop" packageVersion = "1.0.0" windows { console = true perUserInstall = true } } }}
Puedes ver que hemos modificado la configuración de application
con Platform-specific options para Windows
Genera un paquete de instalación para Windows:
> .\gradlew packageMsi...> Task :composeApp:packageMsiThe distribution is written to C:\Users\david\Workspace\desktop\composeApp\build\compose\binaries\main\msi\dev.xtec.desktop-1.0.0.msi
Tras ejecutar una tarea, Gradle genera los binarios de salida en el directorio ${project.buildDir}/compose/binaries
.
Instala l’aplicación:
{% image “install.png” %}
ProGuard
Section titled “ProGuard”ProGuard es una herramienta de código abierto para la minimización y ofuscación de código.
Puedes ejecutar la aplicación com la misma configuración que una distribución (con ProGuard):
> .\gradlew runRelease
TODO Tenemos un error de Unsupported version number [66.0] (maximum 62.65535, Java 18)
. ProGuard sólo funciona con Java 17 a 18?
Para cada tarea de empaquetado, el plugin Gradle proporciona una tarea “release” (con ProGuard).
> .\gradlew packageReleaseMsi
O dejar que gradle seleccione de manera automática en función del sistema operativo:
> .\gradlew packageDistributionForCurrentOS
Testing
Section titled “Testing”El contingut d'aquest lloc web té llicència CC BY-NC-ND 4.0.
©2022-2025 xtec.dev