News

Compose Multiplatform 1.0 est prêt !

Read this post in other languages:
English, 한국어, Русский, 简体中文

Compose Multiplatform, le framework déclaratif d’interface utilisateur pour Kotlin conçu par JetBrains, est disponible en version 1.0, ce qui signifie qu’il est peut maintenant être utilisé en production ! Voici quelques-unes des fonctionnalités clés de ce framework :

  • Sur desktop, il est maintenant possible de créer des applications Kotlin avec des interfaces esthétiques rapidement et efficacement.
  • Pour le web, vous pouvez maintenant créer des expériences web dynamiques et de qualité en utilisant l’API DOM stable de Compose for Web, qui est interopérable avec toutes les API de navigateur. La prise en charge des widgets pour Material UI sera disponible dans une future version.
  • Globalement, le partage de connaissances et de code entre les différentes plateformes (y compris Android, en utilisant la compatibilité avec Jetpack Compose par Google) est maintenant beaucoup plus simple.

Examinons ces points un par un.

Visiter le site web

Interface Utilisateur Kotlin pour Desktop

Auparavant, si vous vouliez créer une interface utilisateur pour votre application de bureau Kotlin, vous deviez utiliser les frameworks d’interface Java traditionnels, car aucune bibliothèque Kotlin n’offrait un style de développement d’interface pour bureau moderne. Nous y avons remédié à cela avec Compose Multiplatform. Voyons comment ce framework améliore l’expérience d’écriture d’interfaces utilisateur pour les applications Kotlin.

Approche déclarative de la création d’interfaces utilisateur

Compose Multiplatform étant déclaratif, votre code reflète la structure de l’interface de votre application. Vous n’avez donc pas à vous soucier d’éléments tels que la copie des données d’un modèle dans la vue ou le développement de la logique d’actualisation de l’interface. Le framework s’occupe de tout cela à votre place et le développement d’interfaces utilisateur devient un véritable plaisir. Dans cet exemple, le contenu de la balise Text sera mis à jour une fois le contenu de TextField modifié, sans code supplémentaire :

La prise en main de Compose Multiplatform est simple, surtout si vous avez déjà utilisé un framework d’interface utilisateur déclaratif tel que React ou Jetpack Compose par Google. Compose Multiplatform utilise en grande partie les mêmes concepts, vous vous sentirez donc tout de suite très à l’aise.

Excellentes performances d’exécution grâce à l’accélération matérielle

La performance est un critère clé pour les interfaces utilisateur modernes, c’est pourquoi nous avons rendu Compose Multiplatform plus rapide. Il s’appuie sur Skia, une bibliothèque graphique considérablement optimisée qui est utilisée par de nombreuses applications sensibles aux performances, notamment les navigateurs modernes. Compose Multiplatform prend ainsi en charge tous les principaux moteurs d’accélération matérielle sur desktop, tels que DirectX, Metal et OpenGL. Pour les environnements pour lesquels l’accélération matérielle n’est pas disponible, Compose fournit un rendu logiciel optimisé.

Cycles courts d’itération via l’outil d’aperçu Preview

L’une des tâches les plus chronophages lors du développement d’interface utilisateur est la reconstruction d’une application pour tenter de lui donner une apparence parfaite. Le plugin Compose Multiplatform IDEA optimise ce processus. Sa fonctionnalité d’aperçu en direct intégré vous permet d’optimiser les composants et éléments de l’interface utilisateur et d’en créer plusieurs itérations sans avoir à reconstruire ou redémarrer l’application. Cela réduit considérablement la durée du cycle de développement.

Livraison d’applications de bureau facilitée grâce à la création automatique de packages

Mettre une application à la disposition des utilisateurs requiert non seulement de développer mais aussi de créer des packages. Compose Multiplatform peut vous aider pour cela aussi. Son plugin Gradle prend en charge la création de packages d’application aux formats msi, dmg et deb, ce qui inclut la signature et la notarisation pour MacOS.

Interopérabilité avec Jetpack Compose sous Android et les frameworks d’interface utilisateur Java

Jetpack Compose, le kit d’outils d’Android pour la création d’interfaces utilisateur natives de Google, est de plus en plus populaire parmi les développeurs d’applications mobiles. Si vous l’avez déjà utilisé, il vous sera très facile d’utiliser Compose Multiplatform, car les API de ces deux frameworks sont en grande partie identiques.

Si vous travaillez sur des applications de bureau dont l’interface utilisateur a déjà été conçue à l’aide de frameworks d’interface utilisateur Java classiques, vous n’avez pas besoin de réécrire tout votre code pour qu’il fonctionne avec Compose Multiplatform. Nous offrons une excellente interopérabilité, ce qui signifie que vous pouvez ajouter des composants d’interface utilisateur écrits avec Compose dans votre interface utilisateur Java existante. Vous pouvez également ajouter vos contrôles Java existants à une application que vous créez avec Compose Multiplatform.

Soyez rapidement opérationnel avec les assistants Compose Multiplatform

La prise en main de Compose Multiplatform est très simple. Dans IntelliJ IDEA 2021.1 et ses version ultérieures, vous pouvez créer un projet Compose Multiplatform simple en quelques clics.

![Nouvel assistant de projet affichant l’exemple « Compose Desktop Application »](https://blog.jetbrains.com/wp-content/uploads/2021/11/image1-2.png “image_tooltip”) {.wp-image-205106}

Nous proposons également de nombreux tutoriels pour vous aider à travailler sur des applications de bureau avec Compose Multiplatform.

Compose for Web

Au-delà du bureau, Compose Multiplatform vous apporte une API Kotlin/JS puissante et déclarative pour travailler avec le DOM.

Il fournit toutes les fonctions indispensables dans un framework web moderne, notamment une API DOM complète, la prise en charge intégrée de CSS-in-JS, la prise en charge de SVG, les entrées typées. La cible web de Compose Multiplatform est écrite en Kotlin pur, les développeurs peuvent donc utiliser toutes les capacités du système de types et des idiomes de ce langage. Vous pouvez ainsi utiliser le même workflow de développement que celui que vous utilisez peut-être déjà pour vos autres cibles Kotlin.

Prise en charge multiplateforme

Avec Compose Multiplatform, vous n’êtes pas limité·e au ciblage des plateformes de bureau et web (qui sont prises en charge directement). Vous pouvez également cibler Android avec Jetpack Compose, le framework d’interface utilisateur développé par Google. Ces deux frameworks partagent une API et un noyau communs, ce qui garantit une interopérabilité parfaite. Ainsi, vous n’aurez pas à réécrire le code commun de l’interface utilisateur commune ou de la gestion d’état. Une fois qu’il est écrit, vous pouvez le réutiliser sur autant de plateformes que nécessaire.

Si vous souhaitez transférer une application Android existante sur le bureau ou sur le web, Compose Multiplatform vous aide à le faire avec un minimum d’efforts. Il vous permet de gérer toutes les cibles de votre application à partir d’un seul projet Kotlin.

Pour démarrer rapidement la création d’une application ciblant plusieurs plateformes avec Compose, vous pouvez utiliser l’assistant de projet Kotlin dans IntelliJ IDEA 2021.1 et ses versions ultérieures.

Même si vous n’avez pas besoin de développer une application multiplateforme actuellement, les connaissances et l’expérience acquises sur une plateforme vous serviront également sur les autres.

Qu’est-ce qui a changé depuis la version bêta ?

Pour Compose Multiplatform 1.0, nous avons tenu à nous assurer que le framework est véritablement prêt à être utilisé dans votre application de production. Par conséquent, cette nouvelle version porte essentiellement sur la qualité et la stabilité, tout en résolvant des problèmes et bugs critiques.

Expérience de production réelle

Même si Compose Multiplatform vient juste d’être lancé officiellement, certaines applications de production l’utilisaient déjà. Par exemple, chez JetBrains nous avions déjà adopté Compose Multiplatform dans Jetbrains Toolbox App (https://www.jetbrains.com/toolbox-app/) dès le début de 2021. Cette application de gestion pour les IDE de JetBrains est utilisée par plus d’un million d’utilisateurs actifs chaque mois et a été intégralement migrée de C++ et Electron vers Compose Multiplatform il y a 4 mois.

Conclusion

Avec Compose Multiplatform, les développeurs Kotlin disposent désormais d’un framework puissant pour créer des interfaces utilisateur esthétiques, aussi bien pour les applications de bureau que pour les applications web.

Essayez Compose Multiplatform sans tarder ! Pour commencer, nous vous invitions à consulter l’un des tutoriels officiels. En utilisant l’assistant de projet Kotlin qui est intégré dans IntelliJ IDEA 2021.1 et ses versions ultérieures, vous pouvez créer votre premier projet Compose Multiplatform et commencer à construire des interfaces utilisateur déclaratives avec Kotlin.

Nous espérons que vous apprécierez l’expérience !

Auteur de l’article original en anglais :

Delphine Massenhove

Sebastian Aigner

Discover more