JetBrains Compose pour ordinateur de bureau et Web est désormais en version alpha

JetBrains a publié Compose for Desktop and Web, un portage de Jetpack Compose de Google pour Android, en version alpha. Voici les nouveautés.

Si vous n'en avez pas entendu parler Composer Jetpack, où avez-vous été récemment? Google a créé ce cadre d'interface utilisateur déclaratif pour remplacer le moteur de mise en page XML standard dans Android. Compose permet aux développeurs de créer leurs mises en page et la logique qui les accompagne, le tout dans Kotlin. JetBrains, la société derrière Kotlin, a également participé à l'action Compose et travaille à son portage sur ordinateur et sur le Web.

JetBrains Compose for Desktop et Web est en développement depuis un certain temps déjà. Il dispose d'un « Aperçu technologique » public pré-alpha que les développeurs peuvent utiliser pour créer des applications multiplateformes dans Compose. Je l'ai personnellement utilisé pour mon application Samsung Firmware Downloader, et ça marche plutôt bien.

Aujourd'hui, JetBrains fait la promotion de sa version de Compose en version alpha. Cela signifie une API plus stable, ainsi que de nouvelles fonctionnalités et modifications.

Composer pour le Web

Tout d’abord, le Web. Compose pour le Web est même plus récent que Compose for Desktop, et il en manque pas mal. Cela ne veut pas dire pour autant que c’est inutile. Même si les développeurs ne bénéficient pas des éléments d'interface utilisateur de base disponibles pour Desktop et Android, ils bénéficient toujours des avantages de l'écriture en Kotlin avec des principes de conception déclarative.

Maintenant que Compose est en phase alpha, l’API Web devrait être plus stable, avec moins, voire aucune, de modifications majeures apportées au fil du temps.

Gestion des fenêtres de rédaction

De retour au bureau, quelques changements ont été apportés à la manière dont les développeurs interagissent avec Windows dans leur application.

Le premier est un nouveau API de fenêtre composable. Cela permet aux développeurs d'interagir avec les fenêtres de leur application de manière déclarative. Par exemple, le titre de la fenêtre peut désormais être modifié avec un état, et les fenêtres peuvent même être ouvertes et fermées en fonction de leur état.

Une autre partie de la nouvelle API de fenêtre permet aux développeurs de choisir d'ouvrir les nouvelles fenêtres avec une taille adaptative (au lieu de fixe). Cela signifie que Compose calculera la taille d'une fenêtre en fonction de son contenu, définira automatiquement la taille initiale, puis ouvrira la fenêtre.

Plugins

JetBrains Compose a toujours eu un plugin Gradle pour effectuer la compilation et l'exécution. Avec l'alpha, ce plugin reçoit une version améliorée, ainsi que quelques corrections de bugs.

En plus du plugin Gradle, il y a maintenant un plugin IDE pour IntelliJ IDEA et Android Studio afin de mieux prendre en charge Compose pour ordinateur de bureau et Web. Semblable à Compose pour Android, ce plugin permet aux développeurs d'annoter les fonctions composables sous forme d'aperçus et d'afficher les aperçus de mise en page directement dans l'EDI.

Le plugin est très basique pour le moment. La seule autre fonctionnalité dont il dispose actuellement supprime l'avertissement de charpie de l'IDE concernant l'utilisation de la casse du titre pour les noms de fonctions composables. Mais il bénéficiera de plus de fonctionnalités au fil du temps, comme l'aperçu en direct.

Prise en charge de l'architecture

Même si l'objectif de JetBrains Compose est d'être multiplateforme, il ne prend pas encore entièrement en charge toutes les architectures de processeur. L'alpha étend la prise en charge actuelle aux éléments suivants :

  • macOS: x86-64 (amd64), arm64
  • Windows: x86-64 (amd64)
  • Linux: x86-64 (amd64), arm64
  • Web: tout ce qui est récent

Bien que cela ne couvre certainement pas tout, le support ne fera que s'améliorer à l'avenir.

Développements futurs

Le choix de JetBrains de faire passer Compose dans un état alpha est important. Cela signifie qu'ils prévoient de continuer à développer ce produit, avec d'éventuelles étapes bêta et stables. Et bien sûr, plus de fonctionnalités.

Conclusion

C'est assez excitant de voir ce que Compose a à apporter. Sur Android, il remplace un moteur de mise en page obsolète (bien que parfaitement utilisable). Sur ordinateur et sur le Web, il apporte une conception déclarative utilisant un langage fortement typé qui est plus facile à utiliser (du moins pour moi) que les langages basés sur TypeScript. Surtout sur Desktop, Compose contribue à combler une lacune assez importante en termes de moteurs de mise en page fonctionnels.

Si vous souhaitez essayer JetBrains Compose vous-même, consultez le référentiel GitHub pour plus de détails sur la façon de commencer.