Près d'un an après la sortie de Kotlin 1.2, une nouvelle version du langage vient d'être publiée : la version 1.3 qui, comme l'indique l'équipe JetBrains derrière le langage, vient avec de nombreuses fonctionnalités et améliorations, mais un point d'honneur est mis sur les coroutines, Kotlin/Native et les projets multiplateformes.
Principales nouveautés : coroutines, Kotlin/Native Beta, projets multiplateformes
Dans Kotlin 1.3, les coroutines sont désormais stables. Pour information, les coroutines constituent un moyen innovant d’écrire du code asynchrone non bloquant, facile à comprendre et à faire évoluer. Il s’agit d’un outil puissant, que ce soit pour permettre le transfert d’une tâche à des collaborateurs ou l’implémentation de protocoles réseau compliqués. La bibliothèque kotlinx.coroutines, disponible en version 1.0, offre une base solide pour la gestion des tâches asynchrones de toutes tailles, telles que la composition, l’annulation et la gestion des exceptions et les cas d’utilisation propres à l’interface utilisateur.
Cette version de Kotlin inclut également Kotlin/Native Beta qui compile le code Kotlin directement en binaires natifs. Kotlin/Native utilise LLVM pour compiler les sources Kotlin en données binaires autonomes (aucune machine virtuelle n’est nécessaire) pour différents systèmes d’exploitation et architectures CPU, y compris iOS, Linux, Windows, Mac, et même WebAssembly et les systèmes embarqués tels que STM32. Notons, entre autres, qu'il inclut la gestion totalement automatique de la mémoire et peut interagir avec C, Objective-C et Swift... En plus d'exposer les API de plateformes telles que Core Foundation, POSIX, et toute autre bibliothèque native de votre choix.
L'un des domaines d'améliorations de cette version concerne les projets multiplateformes. Un projet multiplateforme vous permet de construire plusieurs couches de votre application (backend, frontend, etc.)  depuis la même base de code. Ce type de projet contient à la fois des modules communs, qui contiennent du code indépendant de la plateforme, et des modules plateforme, qui contiennent le code spécifique à une plateforme (JVM ou JS) et qui peuvent utiliser des bibliothèques de cette plateforme. Avec Kotlin, l'équipe JetBrains s'est en effet fixé l'objectif ambitieux de permettre le partage de code entre les plateformes. Kotlin 1.3 arrive donc avec un ensemble de bibliothèques multiplateformes qui couvrent les tâches quotidiennes telles que HTTP, la sérialisation et la gestion des coroutines. La solution la plus simple pour écrire du code multiplateforme avec Kotlin consiste à exploiter ces bibliothèques, d'après l'équipe JetBrains.
Kotlin 1.3 propose des outils prenant en charge des projets Kotlin/Native et multiplateformes qui sont disponibles dans IntelliJ IDEA Community, IntelliJ IDEA Ultimate Edition et Android Studio. Toutes les fonctionnalités d'édition de code, telles que le surlignage des erreurs, la saisie semi-automatique du code, la navigation et la refactorisation sont disponibles dans les trois IDE. JetBrains travaille aussi sur des fonctionnalités et des intégrations plus avancées avec des outils standards.
Autres améliorations
Kotlin 1.3 vient également avec de nombreuses autres fonctionnalités et améliorations, notamment :
- la prise en charge expérimentale des classes en ligne (inline class) pour les performances et la sécurité du typage ;
- la prise en charge expérimentale des entiers non signés pour faciliter la manipulation des octets et autres codes de bas niveau ;
- les Contrats pour améliorer l’analyse statique des appels de bibliothèque ;
- un débogueur de séquence pour visualiser les évaluations retardées ;
- des améliorations des fichiers temporaires, de REPL et de la création de scripts pour travailler de façon fluide avec des scripts et des extraits de code ;
- la bibliothèque standard a été étendue au code Kotlin/Native, on note aussi prise en charge améliorée pour Kotlin/JS, la disponibilité de Random sur toutes les plateformes et autres d'améliorations et corrections de bogues ;
- la compilation incrémentale et expérimentale pour Kotlin/JS ;
- etc.
Vous pouvez essayer Kotlin 1.3 en ligne à l'adresse http://play.kotl.in/ ou directement dans vos IDE :
- sous Maven, Gradle et npm : utilisez 1.3.0 comme numéro de version pour le compilateur et la bibliothèque standard ;
- sous IntelliJ IDEA : utilisez la version 2018.3 qui contient Kotlin 1.3. Pour les versions précédentes, installez ou mettez à jour le plugin Kotlin à la version 1.3 ;
- sous Android Studio : installez ou mettez à jour le plugin depuis Plugin Manager ;
- sous Eclipse : installez le plugin en utilisant le Marketplace.
Il faut noter également que le compilateur en ligne de commande peut être téléchargé depuis la page de publication GitHub.
Source: Blog JetBrains
Et vous ?
Utilisez-vous Kotlin ? Si oui, avec quel IDE ?
Que pensez-vous des nouveautés de Kotlin 1.3 ?
Qu’attendez-vous encore du langage ?
Voir aussi :
Google lance Android KTX, un ensemble d'extensions pour le développement Android avec Kotlin, disponible en préversion
Kotlin 1.2 est disponible : cette nouvelle version permet de partager le code entre la JVM et JavaScript et améliore de 25 % les temps de compilation
Android Studio 3.0 est disponible avec le support de Kotlin, plus de fonctionnalités Java 8 et bien plus
Développement Android : Kotlin gagnerait du terrain au détriment de Java, et Realm prédit qu'il sera le plus utilisé fin 2018
Classement Tiobe : Kotlin, le langage pour JVM entre dans le top 50, et pourrait connaître la même ascension rapide que Swift, selon certains