JetBrains recommande d’utiliser la version 0.13 de Kotlin Toolchain pour la plupart des nouveaux projets Kotlin Multiplatform (KMP), en tant que point d’entrée unifié pour configurer l’environnement Kotlin, créer, compiler, tester et publier des applications et des bibliothèques. L’outil cible les projets JVM, Android, iOS et multiplateformes ainsi que les applications serveur, grâce à une configuration déclarative et à une interface en ligne de commande unique.
Cette orientation intervient après le passage de Kotlin Toolchain au stade Alpha plus tôt dans l’année, puis la collecte de retours via les canaux Slack et le suivi des problèmes. Selon JetBrains, les améliorations de l’expérience en ligne de commande et de l’environnement de développement, ainsi que l’ajout de la prise en charge du Web et de cinterop, ont conduit à recommander l’outil pour les nouveaux projets. Il est désormais inclus dans les guides de démarrage de KMP et dans les assistants de création de projets sur le Web et dans les environnements de développement.
Création de projets et configuration de l’environnement
Cette version introduit la commande kotlin new pour créer un projet au moyen d’un flux interactif similaire à Kotlin Multiplatform Wizard, dans lequel le développeur choisit le type d’application puis les plateformes cibles. La commande kotlin init reste disponible, mais son comportement correspond désormais à celui de la nouvelle commande, avec la création directe des fichiers du projet dans le dossier courant.
L’interface textuelle de l’outil affiche également des barres de progression lors du téléchargement des outils requis, tels que les packages JDK et Android SDK, les environnements d’exécution des simulateurs iOS et les compilateurs. Pour iOS, l’outil fournit désormais des diagnostics plus clairs concernant les problèmes d’installation de Xcode, l’acceptation de la licence et l’état du premier démarrage. Il télécharge l’environnement du simulateur iOS si nécessaire et en crée automatiquement un s’il n’en existe pas.
Améliorations pour Android et Apple
Le mécanisme de mise à disposition des composants Android SDK a été unifié entre la ligne de commande et l’environnement de développement. Les composants manquants peuvent désormais être téléchargés lors de l’importation du projet dans l’IDE, au lieu d’attendre l’exécution d’une commande de compilation ou de lancement. JetBrains a également renforcé la vérification du namespace et de l’application ID afin d’éviter de publier des applications ou des bibliothèques avec des identifiants de test tels que com.example.app. Le développeur peut aussi suivre l’état de la synchronisation de l’IDE depuis l’éditeur de fichiers.
Sur les plateformes Apple, cette version ajoute la prise en charge des dépendances Swift Package Manager, y compris les packages locaux, au sein des modules compatibles avec Apple. Cela permet d’importer les interfaces Objective-C produites à partir de code Objective-C ou Swift, avec un nom de domaine commençant par le préfixe swiftPMImport. Lors de la publication de bibliothèques multiplateformes, les données Compose Resources et les dépendances SwiftPM sont jointes aux artefacts de compilation. Les Compose Resources peuvent également être résolus à partir de bibliothèques multiplateformes tierces.
Quels changements concrets pour les développeurs ?
Cette version réduit le nombre d’étapes distinctes nécessaires à la configuration des projets KMP, en particulier pour les développeurs qui passent d’Android à iOS ou qui travaillent sur une machine vierge. Les améliorations apportées à iOS et à SwiftPM revêtent une importance pratique, car elles traitent des points de friction liés aux outils natifs de la plateforme Apple, tandis que le mécanisme de mise à disposition d’Android SDK contribue à empêcher les échecs d’importation avant la première compilation.
L’outil comprend également un serveur nommé Hot Reload MCP et des compétences dédiées aux agents d’intelligence artificielle, ainsi que le package officiel de compétences Kotlin, installable avec la commande npx skills add kotlin/kotlin-agent-skills. JetBrains affirme que des tests internes ont montré que les agents pouvaient créer et maintenir des projets Kotlin Toolchain avec une fiabilité accrue et une consommation réduite de tokens. Il s’agit toutefois d’un résultat communiqué par l’éditeur et non d’une évaluation indépendante.
Accélération de Kotlin/Native et limites actuelles
Kotlin Toolchain met en cache les dépendances Kotlin/Native compilées et les réutilise entre les opérations de compilation, voire entre les projets. Le code du projet bénéficie également d’un cache par fichier, ce qui permet de ne reconstruire que les parties affectées lors de l’édition des liens. Cette fonctionnalité repose sur le paramètre settings.kotlin.compileIncrementally et prend en charge les fichiers debug non optimisés sur les cibles compatibles, tandis que la compilation des fichiers .klib reste complète.
JetBrains prévoit par la suite de proposer l’installation via brew install kotlin, de rendre les compétences d’intelligence artificielle disponibles par défaut, de prendre en charge Swift Export une fois celui-ci stabilisé et de simplifier la publication des applications dans les boutiques d’applications. Toutefois, l’entreprise ne recommande pas encore de migrer les projets existants basés sur Gradle. Elle indique devoir d’abord comprendre les retours des utilisateurs et combler les lacunes, et les changements à venir pourraient nécessiter des modifications des projets.