Releases

Kotlin 1.3 maintenant disponible avec Coroutines, Kotlin/Native Beta et bien plus encore

Vous pouvez lire ce billet dans d’autres langues :

Aujourd’hui, nous publions Kotlin 1.3 avec tout un ensemble de bibliothèques, d’outils de build et de supports de formation !

Nous souhaitons faire de Kotlin un outil de référence pour l’ensemble des développeurs d’applications, à tous les niveaux et sur toutes les plates-formes. Dans Kotlin 1.3 les coroutines sont très stables, ce qui rend le code non bloquant facile à lire et écrire. L’évolutivité n’a jamais été aussi accessible ! Cette version inclut également Kotlin/Native Beta qui compile le code Kotlin directement en binaires natifs. Les fonctionnalités multi-plateformes de Kotlin couvrent désormais toutes les plates-formes prises en charge. Par conséquent, il est désormais possible de partager la logique métier entre des composants tels que les applications Android et iOS. Les serveurs peuvent également partager la logique avec l’ensemble des clients, tandis que les bibliothèques multi-plateformes rendent les tâches quotidiennes facilement portables.

1_3_banner_dark

Nous proposons une série de webinaires présentant les principales fonctionnalités de cette version 1.3. Inscrivez-vous ici.

Communauté et Ecosystème

Kotlin a connu une croissance sans précédent de son taux d’adoption cette année. Depuis janvier 2018, environ 1,5 million d’utilisateurs écrivent du code Kotlin et ce nombre a plus que doublé depuis l’année dernière. Les tendances sur StackOverflow et dans notre espace public Slack sont également très encourageantes. Nous tenons à remercier la communauté Kotlin pour ses encouragements et son accueil !

Nous avons vu avec plaisir l’écosystème Kotlin se développer et devenir plus mature. Kotlin est totalement compatible avec Google Cloud Platform, Spring Framework et Gradle, sans oublier une assistance de premier plan sous Android. La communauté Open Source crée d’excellentes bibliothèques, telles que RxKotlin, mockito-kotlin, TornadoFX, Kodein et ΛRROW. Et des projets tels que Okio de Square et LibreOffice sont désormais migrés vers Kotlin ou le seront prochainement. L’écosystème Kotlin est ouvert à tous pour faire fructifier les bonnes idées et les projets !

De nombreuses personnes en dehors de JetBrains contribuent à Kotlin 1.3 avec des requêtes pull, des rapports de bogues et toutes sortes de commentaires. Votre aide est précieuse et nous sommes réellement heureux de faire progresser Kotlin avec vous !

Les coroutines sont désormais stables.

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 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.

Lancez-vous dès aujourd’hui sur kotl.in/coroutines!
Inscrivez-vous à un webinaire Coroutines ici

Kotlin/Native Beta

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 les architectures de processeurs incluant iOS, Linux, Windows, Mac, et même WebAssembly et les systèmes intégrés, tels que STM32. Il inclut la gestion totalement automatique de la mémoire, peut interagir avec C, Objective-C (et Swift) et expose les API de plates-formes, telles que Core Foundation, POSIX, et toute autre bibliothèque native de votre choix !

L’exécution de Kotlin/Native promeut des données inaltérables et interdit toute tentative de partage des états altérables non protégés entre les threads. Dans la pratique, les threads n’existent pas pour Kotlin/Native, ils sont traités comme un détail d’implémentation de bas niveau et remplacés par des workers, une solution sûre et facile à gérer pour assurer la simultanéité.

Découvrez Kotlin/Native sur kotl.in/native.
Inscrivez-vous à un webinaire ici.

Projets multi-plateformes et outillage

Le fait de travailler sur toutes les plates-formes est un objectif explicite pour Kotlin, mais pour nous cet objectif n’est lui-même qu’un préalable à un objectif bien plus ambitieux : le partage du code entre les plates-formes. En prenant en charge JVM, Android, JavaScript et Native, Kotlin peut traiter tout composant d’une application moderne. Et cela présente comme avantage inestimable la possibilité de réutilisation du code et de l’expertise, ce qui permet d’affronter des tâches plus complexes que les implémentations multiples d’une même opération. Bien que les fonctionnalités multiplates-formes de Kotlin soient expérimentales, la version 1.3 constitue une avancée majeure.

Kotlin 1.3 est fourni avec tout un ensemble de bibliothèques multiplates-formes 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 multi-plateforme consiste à exploiter ces bibliothèques. Vous pouvez créer vos propres bibliothèques multi-plateformes intégrant les dépendances propres à la plate-forme dans une API commune.

Partagez votre code sur différentes plates-formes dès maintenant : kotl.in/multiplatform.
Inscrivez-vous à un webinaire ici.

Outillage pour Kotlin/Native et Multiplatform

Kotlin 1.3 propose des outils prenant en charge des projets Kotlin/Native et multi-plateformes qui sont disponibles dans IntelliJ IDEA Community, IntelliJ IDEA Ultimate Edition et Android Studio. Toutes les fonctionnalités de modification du code, telles que le surlignage des erreurs, la saisie semi-automatique du code, la navigation et la refactorisation sont disponibles dans les trois IDE. Nous travaillons sur des fonctionnalités et des intégrations plus avancées avec des outils standards.

Ktor 1.0 Beta

Ktor, notre framework d’applications connectées qui implémente l’ensemble de la pile HTTP de façon totalement asynchrone au moyen de coroutines, est désormais au stade Beta et disponible sur ktor.io.

Autres améliorations

En complément de tout ce qui a été couvert jusqu’ici, cette version inclut de nombreuses autres fonctionnalités et améliorations, notamment :

  • Prise en charge expérimentale des classes en ligne pour les performances et la sécurité du typage
  • Prise en charge expérimentale des entiers non signés pour faciliter la manipulation des octets et autres codes de bas niveau.
  • Sujet dans les expressions When pour réduire expressions standard
  • Contrats pour améliorer l’analyse statique des appels de bibliothèque
  • Point d’entrée sans argument pour une expérience plus nette pour les débutants
  • Débogueur de séquence pour visualiser les évaluations retardées
  • 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
  • Bibliothèque standard étendue au code Kotlin/Native, prise en charge améliorée pour Kotlin/JS, disponibilité de Random sur toutes les plates-formes et autres améliorations et corrections de bugs.
  • Compilation incrémentale et expérimentale pour Kotlin/JS

Consultez la description complète des fonctionnalités sur notre page Nouveautés. Le journal de changement est disponible ici. Le guide de compatibilité est disponible ici.

KotlinConf

Nous venons de publier l’ensemble des vidéos de la conférence KotlinConf 2018 couvrant les points clés de la version 1.3. Consultez les keynotes et les enregistrements des différentes session pour en apprendre plus sur les nouveautés et les points clés :

Davantage de vidéos de la conférence KotlinConf 2018 sur JetBrains TV

Apprendre Kotlin

Pour rendre l’apprentissage de Kotlin aussi simple et ludique que possible, nous proposons de nombreuses ressources, parmi lesquelles :

  • Un nouveau cours par Svetlana Isakova et Andrey Breslav commence sur Coursera
  • Atomic Kotlin, un livre destiné aux débutants par Bruce Eckel et Svetlana Isakova est accessible en accès anticipé
  • Le nouvel IDE mini-Web play.kotl.in intègre Koans, des exemples et des extraits de code intégrables
  • Le plug-in EduTools permet d’apprendre Kotlin directement dans l’IDE
  • La formation certifiée sur Kotlin est disponible auprès de plusieurs fournisseurs partout dans le monde.

Les webinaires Kotlin 1.3 constituent un excellent point de départ, quel que soit votre niveau actuel.

Comment procéder à la mise à jour

Comme toujours, vous pouvez essayer Kotlin en ligne sur play.kotl.in.

  • Dans Maven, Gradle et npm : utilisez 1.3.0 comme numéro de version pour le compilateur et la bibliothèque standard. Consultez la documentation ici.
  • Dans IntelliJ IDEA : 2018.3 intègre Kotlin 1.3, dans les installations les plus anciennes ou met à jour le plug-in Kotlin vers la version 1.3.
  • Dans Android Studio : installez ou mettez à jour le plug-in par l’intermédiaire du Plugin Manager.
  • Dans Eclipse : installez le plug-in au moyen de Marketplace.
  • Le compilateur de ligne de commande peut être téléchargé depuis la page de publication de Github.

Rejoignez la communauté Kotlin !

Participez aux discussions autour de cette publication sur Reddit et Hacker News ou laissez-nous un commentaire ci-dessous.

 

image description

Discover more