Kotlin élargit ses horizons : prise en charge d'une nouvelle plateforme pour le développement multiplateforme

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Kotlin prend désormais en charge une nouvelle plateforme : qu'est-ce que cela signifie pour les développeurs ?



L'équipe JetBrains continue de développer activement l'écosystème Kotlin, en faisant l'un des plus flexibles et modernes du monde de la programmation. Dans la dernière version, les développeurs ont annoncé la prise en charge de la nouvelle plateforme — WebAssembly (Wasm) en phase Stable. C'est un événement clé pour tous ceux qui utilisent Kotlin Multiplatform (KMP) et cherchent à écrire du code une fois pour l'exécuter partout : des serveurs et appareils mobiles aux navigateurs et appareils edge.



Pourquoi WebAssembly ?

WebAssembly est un format binaire bas niveau qui s'exécute dans le navigateur à une vitesse proche du natif. Auparavant, Kotlin prenait déjà en charge la compilation en JavaScript, mais Wasm ouvre de nouvelles possibilités :

  • Performance : Le code Kotlin compilé en Wasm fonctionne 1,5 à 2 fois plus vite qu'un bundle JS équivalent, en particulier dans les tâches à calcul intensif (graphisme, traitement de données, jeux).
  • Sécurité : Wasm fonctionne dans un bac à sable isolé, ce qui réduit les risques de vulnérabilités.
  • Universalité : Wasm est pris en charge par tous les navigateurs modernes (Chrome, Firefox, Safari, Edge), ainsi que par les environnements serveur (WASI) et les appareils IoT.


Comment cela fonctionne-t-il ?

Désormais, dans les projets Kotlin, vous pouvez spécifier la cible wasmJs ou wasmWasi dans le fichier build.gradle.kts :

kotlin {    wasmJs {        browser { }    }    wasmWasi {        nodejs { }    }}

Après la compilation, vous obtenez un fichier .wasm que vous pouvez intégrer à une page HTML ou exécuter dans un environnement prenant en charge WASI. Important : pour interagir avec le DOM et les API du navigateur, la bibliothèque standard Kotlin/Wasm est utilisée, entièrement compatible avec Kotlin/JS.



Qu'est-ce que cela apporte aux développeurs ?

  • Stack unifiée pour le web et le natif : Il est désormais possible d'écrire la logique métier en Kotlin et de la réutiliser entre Android, iOS, le serveur (JVM) et le client web (Wasm).
  • Démarrage rapide des projets : Pas besoin d'apprendre TypeScript ou Rust pour un web haute performance — il suffit de connaître Kotlin.
  • Simplification du DevOps : Un seul langage, un seul système de build (Gradle) et un seul code pour toutes les plateformes.


Exemple d'utilisation

Imaginez que vous écrivez une bibliothèque pour travailler avec de gros fichiers JSON. Avec Wasm, elle s'exécutera dans le navigateur sans les latences caractéristiques de JavaScript. De plus, Kotlin/Wasm prend en charge les coroutines et la sérialisation (kotlinx.serialization), rendant le code concis et sûr.



Quand essayer ?

La prise en charge de Wasm est déjà disponible dans Kotlin 2.1.0 et versions ultérieures. JetBrains recommande de commencer modestement : migrer vers Wasm les modules non liés à l'interface utilisateur (clients API, validateurs, chiffrement). À terme, une prise en charge complète de Compose Multiplatform pour Wasm est prévue, permettant de créer des applications web complètes en Kotlin.



Conclusion

L'ajout de WebAssembly à la liste des plateformes prises en charge n'est pas une simple mise à jour. C'est un pas vers la position de Kotlin comme langage n°1 pour le développement multiplateforme. Vous disposez désormais d'un outil qui allie la performance du code natif et l'universal

Recommended Libraries