AccueilActualités informatiqueMultiplateforme : le framework UI Compose Multiplatform atteint un niveau stable

Multiplateforme : le framework UI Compose Multiplatform atteint un niveau stable

JetBrains a publié la version 1.0 de Compose Multiplatform. Le framework utilise l’approche déclarative de la boîte à outils d’interface utilisateur Android Jetpack Compose et la met en œuvre de manière multiplateforme pour les applications de bureau, web et Android. Sans surprise, le langage de programmation utilisé est Kotlin.

Google a publié fin juillet la version stable 1.0 de Jetpack Compose. La boîte à outils UI pour Android suit une approche déclarative et mise sur le langage de programmation Kotlin ainsi que sur un modèle de programmation réactif. Les fonctions dites composables définissent les différents éléments de commande – ou des parties de ceux-ci. À propos de @Composable les fonctions décorées peuvent être imbriquées les unes dans les autres pour créer finalement l’interface. Le code décrit l’aspect de base de l’interface et, sous le capot, le toolkit s’occupe de la mise en œuvre dans l’arborescence de l’IU et de la mise à jour des contenus.

Sommaire

Compose Multiplatform, lancé en août en version alpha, porte désormais cette approche sur le bureau et sur le web. Jusqu’à présent, les outils d’interface utilisateur pour les applications de bureau avec Kotlin faisaient défaut, obligeant les développeurs à recourir à des frameworks d’interface utilisateur Java. Grâce à l’approche déclarative, tous les éléments de l’interface utilisateur sont définis dans le code de Compose. L’exemple simple suivant, tiré du blog de JetBrains, montre une étiquette de texte qui est mise à jour lorsqu’un champ de texte est modifié :

var text by remember { mutableStateOf("Hello, World!") }
Column {
   Text(text) //text label
   TextField(text, {text = it}) //text field
}

Un plug-in gratuit pour IntelliJ IDEA et Android Studio offre un aperçu en direct de l’IU déclarée. Il prend en compte les modifications du code et affiche directement leurs effets sans processus de construction frais et sans redémarrage.

La base de la représentation graphique est la bibliothèque graphique 2D open source de Google, Skia, qui est utilisée entre autres dans Chrome, Firefox, Flutter, Android et LibreOffice. Elle constitue l’interface avec l’accélération matérielle spécifique à la plateforme, par exemple via DirectX ou Metal.

Le plug-in Gradle de Compose Multiplatform peut créer des applications au format paquet Debian (.deb), comme installateur Windows (.msi) et comme fichiers d’image disque (.dmg).

Kotlin/JS constitue la base des applications web. Le framework offre une API pour accéder au DOM et CSS-in-JS pour générer des éléments CSS. En outre, il peut notamment traiter directement le format SVG (Scalable Vector Graphics).

IntelliJ IDEA dispose depuis la version 2021.1 d’un assistant pour les projets multiplateformes Compose.

(Image : JetBrains)

Bien que Compose Multiplatform n’apporte pas de composant Android, il utilise, selon JetBrains, les mêmes API que Jetpack Compose, de sorte que le code des composants web et desktop devrait pouvoir être transféré directement dans des applications Android avec le framework UI de Google. Inversement, les développeurs peuvent porter sans grand effort des UI déclarées avec Jetpack Compose sur le web et/ou le bureau vers Compose Multiplatform.

De plus amples détails peuvent être trouvés sur le blog de JetBrains. L’entreprise utilise déjà Compose Multiplatform depuis le début de l’année pour l’application Toolbox de gestion des IDE. Sur GitHub, on trouve quelques tutoriels qui devraient aider à se familiariser avec le framework.

Plus d'articles