Kotlin
A concise multiplatform language developed by JetBrains
Kotlin Multiplatform est Stable et prêt à être utilisé en Production
La très attendue version stable de Kotlin Multiplatform, la technologie open source créée par JetBrains pour partager du code entre différentes plateformes tout en conservant les avantages de la programmation native, est maintenant stable et 100% utilisable en production.
Poursuivez votre lecture pour en apprendre plus sur l’évolution de Kotlin Multiplatform (KMP), sur la façon dont il peut simplifier et optimiser votre processus de développement, et sur les ressources de formation que nous mettons à votre disposition pour vous permettre de tirer pleinement parti de cette technologie.
Partagez du code comme vous le souhaitez et en toute confiance
Conçu pour favoriser la flexibilité et l’adaptabilité, Kotlin Multiplatform (KMP) gomme les frontières entre développement multiplateforme et développement natif en permettant aux développeurs de réutiliser autant de code qu’ils le souhaitent, d’écrire du code natif si besoin et d’intégrer facilement du code Kotlin partagé dans tout projet.
Depuis la première version de KMP, sa flexibilité a séduit de nombreuses entreprises reconnues, telles que Netflix, Philips, McDonald’s, 9GAG et Baidu. Le faible risque d’adoption de KMP et sa capacité d’intégration progressive ont permis à leurs équipes de développement d’en faire rapidement un usage optimal. Certaines équipes partagent des éléments essentiels de leur code Kotlin afin de renforcer la stabilité de leurs applications. D’autres, qui cherchent à réutiliser autant de code que possible sans que cela n’affecte la qualité des produits, partagent toute la logique de leurs applications entre plateformes mobiles, de bureau, web et TV, tout en conservant les interfaces utilisateur natives.
KMP ayant été largement utilisé en production depuis la publication de sa version Alpha, JetBrains a mis à profit les nombreux retours de ses utilisateurs pour améliorer la technologie et offrir une meilleure expérience de développement multiplateforme dans la version stable, notamment en ce qui concerne les points suivants.
Garanties de compatibilité strictes
La technologie de Kotlin Multiplatform est constituée de nombreux éléments, parmi lesquels la prise en charge du compilateur, les fonctionnalités du langage, les API de bibliothèques, les IDE et les outils de build. Tous ces éléments couvrent les scénarios de partage de code les plus courants et sont stables dans Kotlin 1.9.20. Le terme « stable » signifie que nous allons faire évoluer ces éléments en suivant des règles de compatibilité strictes, afin que vous puissiez les utiliser en toute confiance pour votre code.
Au-delà de ces technologies essentielles, KMP comporte également des éléments plus avancés, sur lesquels nous continuons de travailler, comme les classes expect/actual (à ne pas confondre avec les fonctions expect/actual, qui sont déjà totalement stables dans Kotlin 1.9.20).
Ces fonctionnalités sont explicitement marquées comme non stables et Kotlin vous en informera lorsque vous les utiliserez. Veillez à tenir compte de ces avertissements concernant l’aspect expérimental des fonctionnalités et à consulter la documentation avant de décider de les utiliser dans vos projets.
Amélioration de l’expérience utilisateur pour la configuration de build
Afin de simplifier la configuration et la maintenance des projets, nous avons introduit un modèle de hiérarchie par défaut. Cette nouvelle fonctionnalité du plugin Kotlin Gradle configure automatiquement les ensembles de sources Kotlin pour les scénarios courants et réduit ainsi la quantité de code standard dans les scripts de build typiques.
Dans sa version stable, KMP offre deux améliorations pour vous aider à diagnostiquer les défauts et erreurs de configuration de build :
- Une cinquantaine de diagnostics ont été ajoutés au plugin Kotlin Gradle, ce qui facilite la détection des problèmes de build et accélère leur résolution.
- La sortie améliorée pour les erreurs Gradle dans Xcode facilite la détection des problèmes de build dans les parties natives de votre projet.
Améliorations des performances de build et d’exécution
En plus d’autres améliorations de la stabilité et de la robustesse de KMP, nous continuons de travailler à l’amélioration de ses performances :
- La prise en charge du cache de configuration de Gradle accélère le processus de build en réutilisant les résultats de la phase de configuration pour les builds suivants.
- L’aperçu de l’allocateur de mémoire personnalisé dans Kotlin/Native améliore les performances d’exécution du gestionnaire de mémoire Kotlin/Native.
- La nouvelle compilation incrémentale des artefacts `klib` expérimentale accélère la compilation Kotlin/Native.
- Le déplacement de la gestion du cache du compilateur Kotlin/Native du plugin Kotlin Gradle vers le compilateur apporte une plus grande flexibilité au niveau du temps de compilation et du cache du compilateur.
Grâce à toutes ces avancées, Kotlin Multiplatform peut maintenant être utilisé en toute confiance pour partager du code en production sur les plateformes Android, iOS, de bureau (JVM), côté serveur (JVM) et web, y compris dans les entreprises ayant des politiques strictes en ce qui concerne l’usage des technologies et outils de développement.
Bénéficiez de la puissance de l’écosystème florissant de Kotlin Multiplatform
L’évolution de Kotlin Multiplatform ne se limite pas à sa technologie, mais concerne aussi son écosystème, dont la croissance est soutenue par des milliers de développeurs Kotlin partout dans le monde. Depuis la version Bêta, le nombre de bibliothèques KMP s’est multiplié, offrant une grande variété d’outils pour la mise en réseau, le stockage de données, l’arithmétique ou l’analyse, et favorisant un développement productif et fiable.
L’équipe Android de Google continue d’apporter une assistance aux utilisateurs de KMP en fournissant les versions multiplateformes expérimentales des bibliothèques Jetpack et a déjà rendu les bibliothèques Collections, DataStore, Annotations et Paging compatibles avec Kotlin Multiplatform.
L’écosystème KMP fournit également des outils pour l’expérience de développement iOS, avec notamment SKIE de Touchlab. SKIE génère du code Swift qui fournit une couche d’API compatible avec Swift, ce qui relie les types Kotlin importants et implémente une interopérabilité des coroutines transparente.
Encore plus de liberté pour le partage de code avec Compose Multiplatform
Compose Multiplatform, le framework déclaratif d’interfaces utilisateur multiplateforme moderne de JetBrains, est un élément clé de l’écosystème KMP. Avec Compose Multiplatform, vous disposez d’une flexibilité totale pour le partage de code. Vous pouvez aussi bien ne partager qu’une partie de la logique, toute la logique de l’application ou la logique et l’interface utilisateur à la fois, en fonction des besoins de votre projet et de votre équipe :
Compose Multiplatform pour les plateformes Android et de bureau (JVM) est déjà Stable, tandis que la prise en charge d’iOS est actuellement en phase Alpha et que celle de la plateforme web (Wasm) est Expérimentale.
L’avenir de Kotlin Multiplatform
JetBrains poursuit l’amélioration du développement multiplateforme avec Kotlin, avec pour objectif d’en faire la référence pour le partage de code entre plusieurs plateformes :
- Les futures mises à jour de la technologie de Kotlin Multiplatform amélioreront l’expérience de développement iOS, avec notamment l’interopérabilité directe entre Kotlin et Swift et la prise en charge de SwiftPM.
- La prochaine étape importante dans l’évolution de Compose Multiplatform pour iOS est la prise en charge de la version Bêta en 2024.
- JetBrains continue de développer activement Kotlin/Wasm pour faciliter le développement web moderne avec KMP et la publication de la version Alpha de Compose Multiplatform pour le web (Wasm) est prévue pour l’année prochaine.
Et ce n’est pas tout. Nous partagerons d’autres bonnes nouvelles concernant l’évolution des outils Kotlin Multiplatform au cours des prochaines semaines !
Commencer à utiliser Kotlin Multiplatform
Commencez votre parcours avec nos ressources éducatives complètes et intuitives.
Vous pouvez commencer par suivre une série de webinaires sur Kotlin Multiplatform qui sera animée par des experts de JetBrains ! Ils vous présenteront les fonctionnalités de Kotlin Multiplatform, vous expliqueront comment créer des applications KMP avec des interfaces utilisateur natives et partagées, et vous donneront des conseils et astuces concernant le développement iOS :
De plus, le nouveau portail de développement Kotlin Multiplatform inclut une documentation détaillée, des guides de prise en main, ainsi que des tutoriels couvrant toutes les étapes de la création d’applications avec Kotlin Multiplatform et Compose Multiplatform :
Auteur de l’article original en anglais :