JetBrains fait le point sur les évolutions du SDK Kotlin Multiplaform Mobile
depuis son passage en phase alpha en août 2020

Kotlin Multiplatform Mobile (KMM), un SDK pour le développement mobile multiplateforme, est passé en phase alpha en août 2020. Au cours des 9 derniers mois, l’écosystème de KMM a connu une évolution rapide :
  • Chaque nouvelle version de Kotlin a apporté des fonctionnalités et des mises à jour qui ont amélioré l’expérience de développement multiplateforme.
  • Les outils de développement de KMM, tels que le plugin KMM pour Android Studio, sont constamment mis à jour afin de rendre le processus de création d’applications mobiles multiplateformes plus efficace et agréable.
  • La communauté contribue activement à l’écosystème en produisant des bibliothèques utiles, en créant des exemples de projets instructifs et en partageant son expérience de l’utilisation de KMM en production.

Quoi de neuf dans le plugin KMM ?

Le plugin KMM pour Android Studio peut vous aider à développer des applications multiplateformes. Il vous permet de créer de nouvelles applications mobiles multiplateformes en quelques clics et il est étroitement intégré à l’écosystème de développement iOS.

Intégration stable et personnalisable avec iOS

Avec le plugin KMM, vous pouvez exécuter, tester et déboguer la partie iOS de votre application sur des cibles iOS directement depuis Android Studio. Depuis le lancement du plugin, son intégration avec iOS est devenue beaucoup plus stable et configurable et il prend maintenant en charge les derniers outils iOS.

Assistants de projet flexibles

Le plugin KMM est également un outil d’accompagnement essentiel pour commencer avec KMM. Les assistants du plugin vous aident à créer rapidement un nouveau projet multiplateforme ou à ajouter un module multiplateforme à votre projet.

La dernière version du plugin offre la possibilité d’utiliser l’intégration avec Cocoapods pour les nouveaux projets et modules KMM. Il vous suffit de fournir une description supplémentaire du module KMM et le plugin générera tout le code de configuration requis.

Nom : kmm-cocoapods.jpg
Affichages : 2969
Taille : 58,8 Ko

Quoi de neuf dans Kotlin pour KMM ?

KMM s’appuie sur les capacités multiplateformes de Kotlin et utilise Kotlin/JVM et Kotlin/Native pour produire les artefacts de la plateforme – .jar pour Android et .framework pour iOS. Chaque mise à jour de Kotlin améliore l’expérience des développeurs et développeuses qui créent des applications mobiles multiplateformes avec KMM.

Meilleure intégration iOS avec des améliorations pour Kotlin/Native

L’équipe Kotlin/Native concentre tout particulièrement son travail sur la fonctionnalité la plus attendue par la communauté KMM : la nouvelle approche de gestion de la mémoire pour Kotlin Native. JetBrains prévoit de présenter une première version du développement de la nouvelle conception de la gestion de la mémoire d’ici la fin de l’été 2021.

Si l'éditeur a considérablement progressé dans l’implémentation de la nouvelle approche de gestion de la mémoire, il a également avancé sur d’autres fonctionnalités du développement iOS avec Kotlin/Native :
  • Dans Kotlin/Native, un prototype du nouveau mécanisme d’analyse d’échappement améliore de 10 % les performances d’exécution d’iOS.
  • Kotlin/Native peut désormais gérer les exceptions lancées dans le code Objective-C afin d’éviter les blocages du programme. Cela vous permet d’obtenir des informations sur la cause et de la traiter correctement.
  • Le compilateur Kotlin/Native a reçu une série de mises à jour visant à améliorer ses performances. Par exemple, le temps nécessaire pour reconstituer le framework iOS dans l’échantillon de stockage de données et transfert réseau KMM est passé de 9,5 à 4,5 secondes.
  • L’intégration de CocoaPods a fait l’objet de plusieurs améliorations : par exemple, les dépendances ne sont reconstruites qu’en cas de besoin et il est possible d’utiliser des dépendances sur plus de types de bibliothèques différents.

Des outils stables pour vos projets multiplateformes

Quel que soit le type de projet, la stabilité des outils est essentielle pour que le travail soit plus agréable. Après le passage de KMM en phase alpha et l’introduction de nombreuses nouvelles fonctionnalités multiplateformes, l’équipe Kotlin Multiplatform s’est concentrée sur l’amélioration de l’interface et de la stabilité de l’importation dans les EDI pour les projets multiplateformes. Nous avons corrigé de nombreux problèmes entraînant un “code rouge” dans l’EDI lors d’un travail sur des projets multiplateformes. JetBrains va continuer à améliorer l’expérience de développement multiplateforme et les retours des développeurs sur ce point sont particulièrement importants pour lui. Aussi, il invite les développeurs à lui signaler les problèmes qu'ils rencontrent sur son outil de suivi YouTrack.

Quoi de neuf dans la communauté ?

« La communauté est le cœur de tout écosystème technologique. Vous êtes vraiment notre plus grande source d’inspiration et d’informations ! Depuis la première version, les développeurs et développeuses du monde entier ont soutenu la croissance de l’écosystème KMM en partageant leur expérience de l’utilisation de KMM dans leurs projets de production et en créant des bibliothèques et des exemples de projets utiles ».

L’augmentation du nombre de bibliothèques KMM

Le nombre de bibliothèques KMM est en constante augmentation. Vous pouvez donc sélectionner celles qui correspondent le mieux aux exigences de votre projet :
  • Realm, une base de données locale open source et simple d’utilisation, dispose désormais d’un nouveau SDK Kotlin Multiplatform. Découvrez les principes de conception essentiels du développement du nouveau SDK.  ;
  • Decompose peut vous aider à partager davantage de code avec KMM. Decompose fournit des composants métiers logiques tenant compte du cycle de Kotlin multiplateforme, avec une fonctionnalité de routage et une interface utilisateur personnalisable. KMM est flexible et vous permet de choisir la part de votre base de code que vous souhaitez partager. Vous n’êtes donc pas tenu·e de limiter son utilisation aux couches fondamentales et commerciales de votre projet et des bibliothèques comme Decompose peuvent vous aider à atteindre cet objectif.

Les développeurs et développeuses KMM ont encore beaucoup de besoins et attentes, ce qui représente autant d’opportunités pour les auteurs de bibliothèques. Pour rejoindre cet écosystème en pleine expansion, vous pouvez apprendre à créer et publier une bibliothèque multiplateforme !

Nouveaux exemples de projets

Les exemples de projets peuvent s’avérer très utiles pour acquérir une première expérience pratique d’une technologie. Grâce au formidable travail de la communauté, vous pouvez choisir un exemple de projet en fonction de vos scénarios de partage de code ou vous amuser à tous les explorer :
  • L’exemple D-KMP montre comment partager entièrement le ViewModel (y compris la couche de navigation) avec KMM, implémente les patterns MVI et CQRS, et utilise les derniers kits d’outils d’interface utilisateur déclarative : Compose pour Android et SwiftUI pour iOS.
  • Le projet multiplatform-redux-sample montre comment créer une application multiplateforme avec KMM et ReduxKotlin.
  • Le célèbre projet people-in-space constitue une excellente démonstration de toute la puissance du la technologie Kotlin Multiplatform. En plus de partager toute la logique métier et de recourir à des kits d’outils d’interface utilisateur mobile modernes, il utilise Compose Desktop, vous pouvez donc exécuter cet exemple d’application sur votre PC !

D’après la dernière enquête que JetBrains a menée auprès des utilisateurs de Kotlin Multiplatform, la principale demande de la communauté concerne la mise à disposition d’exemples plus complexes. C’est pourquoi l'éditeur a introduit un exemple de production KMM officiel provenant de l’équipe KMM. Il s’agit d’un lecteur RSS simple que vous pouvez télécharger sur l’App Store et Google Play. Conçu pour démontrer comment utiliser KMM dans des projets de production concrets, il fournit un fichier lisezmoi complet avec une explication de l’architecture qui vous permet d’appliquer les approches dans vos projets.

De nouveaux témoignages d’équipes bénéficiant de KMM

Le partage de code entre plateformes mobiles avec KMM devient plus courant pour les entreprises et pour les développeurs et développeuses partout dans le monde :
  • Netflix est passé à Kotlin Multiplatform Mobile pour optimiser la fiabilité de son application studio et améliorer sa vitesse de livraison.
  • Philips utilise KMM pour accélérer l’implémentation de nouvelles fonctionnalités. Cela a également permis de développer les interactions entre les développeurs et développeuses Android et iOS de leur équipe.
  • KMM aide Down Dog à lancer des fonctionnalités simultanément sur toutes les plateformes, à accélérer le développement et à réduire le nombre de bugs. L’équipe a même migré la majorité du code de sa plateforme iOS de Swift vers Kotlin. Hormis cinq fichiers Swift, son projet est désormais principalement en Kotlin.

En savoir plus sur la feuille de route