Kotlin Multiplatform Mobile est disponible en version Alpha

Publié le par Delphine Massenhove

Kotlin Multiplatform Mobile (KMM) est un SDK qui permet d’utiliser le même code de logique métier dans des applications iOS comme dans des applications Android. Nous avons le plaisir de vous annoncer qu’il passe en version Alpha, vous pouvez donc maintenant l’utiliser pour partager votre logique métier entre vos applications mobiles. Il inclut le nouveau plugin KMM pour Android Studio, qui vous permet d’écrire, d’exécuter, de tester et de déboguer du code partagé dans le même EDI. Des équipes travaillant pour des entreprises telles que VMWare, Autodesk ou Yandex partagent déjà du code dans leurs applications mobiles à l’aide de Kotlin. Réutiliser du code entre plateformes mobiles n’a jamais été aussi simple !

fichier

Qu’est-ce que Kotlin Multiplatform Mobile ?

Kotlin Multiplatform Mobile (KMM) est un SDK pour le développement mobile multiplateforme, fourni par JetBrains. Il utilise les fonctionnalités multiplateforme de Kotlin et comprend divers outils et fonctionnalités conçus pour rendre l’expérience globale de création d’applications mobiles multiplateforme aussi plaisante et efficace que possible.

Les versions Android et iOS d’une application ont souvent beaucoup en commun, mais elles peuvent également présenter des différences significatives, en particulier au niveau de l’interface utilisateur. Ces différences sont plus ou moins importantes, pouvant aller de subtiles variations du comportement de défilement jusqu’à une logique de navigation complètement divergente. Pour autant, la logique métier de l’application, notamment en ce qui concerne les fonctionnalités de gestion des données, d’analyse et d’authentification, est souvent identique. C’est pourquoi il est naturel de partager certaines parties d’une application entre plusieurs plateformes tout en gardant d’autres parties complètement séparées.

Avec KMM, vous pouvez bénéficier de cette flexibilité tout en conservant les avantages de la programmation native. Utilisez une seule base de code pour la logique métier des applications iOS et Android et n’écrivez du code spécifique à la plateforme qu’en cas de nécessité, pour implémenter une interface utilisateur native ou lorsque vous travaillez avec des API spécifiques à la plateforme.

fichier

KMM s’intègre harmonieusement à votre projet mobile. Le code partagé, écrit en Kotlin, est compilé en bytecode JVM avec Kotlin/JVM et en binaires natifs avec Kotlin/Native. Vous pouvez donc utiliser vos modules de logique métier KMM comme n’importe quelle autre bibliothèque mobile standard.

Le partage de code Kotlin entre plateformes mobiles a déjà fait gagner beaucoup de temps et simplifié le travail de nombreuses entreprises. Voici quelques exemples :

  • Quizlet a migré sa logique métier d’une approche JavaScript partagée vers KMM et a considérablement amélioré les performances de ses applications Android et iOS.
  • Fastwork a introduit KMM pour les couches domaine et données de son application afin de partager la logique métier et le service API entre les plateformes mobiles, ce qui a considérablement augmenté la productivité de son équipe.
  • Yandex.Disk a commencé avec l’intégration d’une petite fonctionnalité. Suite à la réussite de l’expérience, la société a implémenté toute sa logique de synchronisation des données dans KMM.

Les résultats remarquables obtenus par ces équipes et par de nombreuses autres nous motivent d’autant plus et nous espérons que leurs témoignages vous convaincront de partager du code entre plateformes mobiles avec KMM.

Créez des applications mobiles avec plaisir grâce à KMM

Bien que KMM soit encore assez récent dans le monde du développement mobile, nous sommes convaincus qu’il fera la différence. Nous lui avons donc affecté une équipe dédiée, chargée de le faire évoluer pour offrir une expérience optimale aux développeurs qui créent des applications mobiles multiplateforme avec Kotlin.

Et la première étape de cette évolution commence avec le lancement de la première preview du plugin KMM pour Android Studio et du nouveau Portail des Développeurs KMM.

Lancez-vous dans l’aventure KMM avec nous !

Travaillez dans un environnement familier

Avec le nouveau plugin KMM vous pouvez écrire, exécuter, tester et déboguer du code partagé dans Android Studio, sans devoir jongler avec d’autres EDI. Pour l’installer, sélectionnez Preferences | Plugins, recherchez le plugin Kotlin Multiplatform Mobile dans Marketplace et cliquez sur le bouton Install.

Configurez une nouvelle application en quelques clics

Grâce à l’assistant New Kotlin Multiplatform Mobile Project, vous pouvez créer un projet d’application mobile avec une base de code partagée prêt à l’emploi en seulement quelques clics . Pour voir comment cela fonctionne sur les deux plateformes, sélectionnez simplement la configuration d’exécution dont vous avez besoin et cliquez sur le bouton Run.

fichier

Le projet généré contiendra des exemples de connexions à une API spécifique à la plateforme et à une couverture de test de base. Vous pouvez utiliser cet assistant pour explorer les fonctionnalités de base de KMM ou comme ossature pour la production de votre nouvelle application KMM.

Ce tutoriel explique comment installer le plugin et créer une première application multiplateforme à l’aide de l’assistant.

Intégrez KMM à un projet existant en une seule étape

Vous pouvez également vous lancer dans l’aventure KMM avec votre projet actuel : le code Kotlin partagé peut facilement être intégré dans votre code, comme n’importe quelle autre dépendance standard. L’assistant New Kotlin Multiplatform Mobile Module vous aidera à ajouter un nouveau module KMM à votre projet, afin que vous puissiez utiliser le code que vous avez déjà écrit en Kotlin et le refactoriser pour le rendre compatible avec iOS.

Consultez ce guide d’intégration de KMM dans les projets existants pour apprendre comment concevoir l’architecture de projets multiplateformes et organiser la migration vers celle-ci.

Travaillez avec les deux plateformes dans un même EDI

Plus besoin de changer d’EDI et d’exécuter Xcode pour vérifier que votre code fonctionne correctement sur les deux plateformes mobiles. Avec le nouveau plugin, vous bénéficiez de l’intégration avec votre appareil iOS et votre simulateur directement dans Android Studio. Voici les fonctionnalités dont vous bénéficiez :

  • Exécution et débogage de l’application iOS sur le simulateur ou sur un appareil avec la configuration d’exécution prédéfinie.
  • Exécution et débogage de tests communs ou spécifiques à iOS sur le simulateur iOS en cliquant simplement sur l’icône de la gouttière sur une classe ou une méthode de test.

Pour l’application comme pour les tests, vous pouvez définir des points d’arrêt et déboguer votre code sur iOS.

Intégration avec l’écosystème iOS facilitée

Comme indiqué plus haut, KMM s’intègre parfaitement à votre projet mobile. Pour Android, vous pouvez utiliser Kotlin pour chaque partie de votre projet. En parallèle, KMM fournit une intégration étroite avec le processus de développement iOS, grâce à l’interopérabilité de Kotlin/Native avec Objective-C/Swift, à l’intégration avec le gestionnaire de dépendances CocoaPods et à la possibilité d’utiliser des API spécifiques à la plateforme avec le schéma attendu/réel.

Travaillez avec Kotlin à partir de code Swift grâce à Kotlin/Native

Kotlin/Native offre une interopérabilité bidirectionnelle avec Objective-C/Swift. Les modules Kotlin peuvent être entièrement utilisés dans Swift/Objective-C. Vous pouvez utiliser les frameworks et bibliothèques Objective-C dans le code Kotlin, ainsi que les bibliothèques Swift si leur API est exportée vers Objective-C avec @objc.

En savoir plus sur l’interopérabilité de Kotlin/Native avec Swift/Objective-C.

Gérez facilement les dépendances iOS

Kotlin/Native fournit une intégration avec le gestionnaire de dépendances CocoaPods. Vous pouvez ajouter des dépendances aux bibliothèques Pod stockées dans le référentiel CocoaPods ou localement et utiliser des projets multiplateforme avec des cibles natives en tant que dépendance CocoaPods (Kotlin Pod). Gérez les dépendances Pod directement dans Android Studio et bénéficiez d’une prise en charge complète du codage, avec notamment la mise en évidence syntaxique et la saisie semi-automatique.

Voici à quoi ressemble la configuration typique de la bibliothèque KMM :

Connectez la bibliothèque à votre projet iOS en tant que Kotlin Pod en ajoutant son nom et son chemin d’accès au Podfile :

En savoir plus sur l’intégration avec CocoaPods.

Découvrez comment créer de meilleurs applications multiplateforme sur le nouveau Portail des Développeurs

Le nouveau Portail des Développeurs KMM est conçu pour rendre votre parcours plus confortable et productif, de votre toute première expérience avec KMM jusqu’à son utilisation en production.

La section documentation est la source d’informations de référence pour travailler avec KMM. Vous y trouverez du contenu pour tout niveau d’expertise, des tutoriels pour commencer avec KMM à des sujets de développement bien plus avancés. Elle contient des informations sur les tâches courantes, comme l’organisation des couches réseau et stockage de données ou l’organisation du processus de développement autour de KMM.

Vous voulez en savoir plus sur les avantages de l’utilisation de KMM dans votre application ? Apprenez de l’expérience directe des différentes équipes qui utilisent déjà KMM dans leurs produits dans la section études de cas.

Le pouvoir de la communauté

Nous sommes très reconnaissant aux entreprises et aux développeurs indépendants qui ont donné de leur temps et partagé leur expertise pour cette version : Kevin Galligan, Alec Strong, Arkadii Ivanov, Ben Asher, John O’Reilly, Louis CAD, Kris Wong, Aleksey Mikhailov et bien d’autres super ingénieur·es. Merci de nous signaler les problèmes sur YouTrack, de participer à la recherche et aux entretiens, de partager des témoignages sur votre expérience d’utilisation de KMM et de créer d’incroyables bibliothèques multiplateforme !

Nous tenons également à remercier les équipes qui nous ont aidé·es à créer du contenu pour le nouveau portail de développement : Touchlab, IceRock et Kodein Koders. Votre travail aide des milliers de développeurs à en apprendre plus sur Kotlin Multiplatform Mobile pour en exploiter toute la puissance.

Vous assurez !

Essayez-le dès maintenant

La disponibilité de KMM en version Alpha signifie que l’équipe Kotlin s’engage à améliorer cette technologie et à la faire évoluer et que le développement du produit sera rapide. Nous sommes à l’écoute de vos commentaires et proposerons des correctifs et améliorations dès que possible. Aidez-nous à améliorer la stabilité de KMM en nous signalant tout problème rencontré via notre outil de suivi.

Le passage en version Alpha implique également que tout est prêt pour utiliser KMM afin de partager du code de logique métier entre les plateformes mobiles. Vous pouvez créer un projet ou intégrer facilement un module KMM dans des modules existants. Quoi qu’il en soit, vous pouvez toujours revenir au développement entièrement natif. La communauté se développe rapidement et vous pouvez influencer le développement de tout l’écosystème en y participant.

C’est donc un moment idéal pour commencer à utiliser KMM !

Pour optimiser votre exploration de KMM et discuter de toutes les fonctionnalités qui vous intéressent, rejoignez la communauté des passionnés de multiplateforme dans Slack (obtenez une invitation ici) et abonnez-vous à “kotlin-multiplatform” sur Stack Overflow.

Malgré tous nos efforts, nous ne pouvons pas encore garantir une migration totalement fluide, mais nous ferons de notre mieux pour éviter autant que possible les problèmes de compatibilité en utilisant des indicateurs de fonctionnalité et en fournissant des guides de migration pour les nouvelles versions.

Faites-nous part de vos commentaires

Cette version marque le début de l’aventure, mais nous aurons besoin de votre aide tout au long du chemin. Nous avons hâte de lire vos commentaires, positifs comme négatifs. N’hésitez pas à partager vos témoignages sur l’utilisation de Kotlin Multiplatform Mobile et vos idées pour l’améliorer.

Faison évoluer Kotlin ensemble !

Auteur de l’article original en anglais : Katerina Petrova