De plus en plus supporté par les frameworks de développement, Kotlin, le langage Java alternatif statiquement typé pour le développement JVM et Android, se hisse dans la cour des grands. C’est le cas par exemple de Spring Framework qui prend désormais en charge Kotlin. Mais aussi de nouveaux frameworks comme Javalin et Ktor. 

Kotlin et le framework Spring Framework

Spring Framework, le framework Java de Pivotal reconnu pour ses capacités d’injection de dépendances s’est doté du support de Kotlin depuis la version 5.0 livrée cette année. Spring 5.0 prend en charge les extensions Kotlin, offrant une alternative aux classes d'utilitaires et aux hiérarchies de classes spécifiques à Kotlin. De plus, cette version ajoute toutes les fonctionnalités de Kotlin à Spring lui-même. Un langage DSL dédié de routage pour Kotlin dans Spring 5.0 permet aux développeurs d'utiliser l'API Web Spring Functional pour accéder à l'infrastructure Web fonctionnelle de Spring. Il est possible d’utiliser Kotlin pour écrire des applications basées sur des annotations avec la technologie Spring Boot associée et créer des applications Spring autonomes prêtes pour la production. Spring Framework est téléchargeable sur repo.spring.io ou sur le référentiel Maven Central.

Kotlin et le framework Vert.x

La version 3.5 du framework évènementiel Vert.x pour la JVM de la fondation Eclipse prend en charge les coroutines Kotlin pour accomplir les événements asynchrones et traiter les événements. Destiné au développement d’entreprise et au développement Web, le framework Vert.x est axé sur les événements et il est non-bloquant, c’est-à-dire que les applications peuvent gérer de nombreuses concurrences à grande échelle en utilisant un nombre réduit de threads. Le framework open source Vert.x est disponible sous licences Apache Software Licence 2.0 et Eclipse Public Licence. Il est téléchargeable sur le site Web du projet Vert.x ou à partir du centre de téléchargement Bintray.

Kotlin et le framework Spark pour les applications web

Spark est un framework Web pour le développement Java, à ne pas confondre avec le framework de traitement big data Apache Spark. Donc, Spark s’est enrichi d’un domaine DSL dédié Kotlin pour construire des applications Kotlin et Java 8. Le framework permet aux développeurs Kotlin et Java de créer des applications web expressives en quelques lignes de code standard à l’aide d’une syntaxe déclarative. Spark peut servir à créer des API REST, mais il prend également en charge les moteurs de template. Pour le développement de microservices, Spark est capable de délivrer du JSON en moins de dix lignes de code. Spark est téléchargeable sur les référentiels Maven Central et GitHub.

Kotlin et le framework Ktor pour les applications connectées

Développé par JetBrains, le créateur de Kotlin, le framework Ktor pour les scénarios JVM a adopté les puissantes capacités de typage de Kotlin. Ktor offre des points de terminaison fortement typés et la possibilité d'échanger entre plates-formes des données avec des classes partagées. Il fournit un cadre d'application multiplateforme pour le développement d'applications connectées. Les capacités de pipeline de Ktor pour traiter les requêtes HTTP, et les API Ktor utilisent des coroutines de Kotlin, donnant accès à un modèle de programmation asynchrone. Les API de Ktor sont principalement des appels de fonction avec des lambdas. Le domaine DSL dédié Kotlin de Ktor fait apparaître le code comme déclaratif. Ktor est téléchargeable sur le site de JetBrains, dans la rubrique consacrée à Ktor.

Kotlin et la bibliothèque API REST Javalin pour les applications Web

Javalin est un framework web léger pour Kotlin et Java. Il s'inspire des frameworks web Spark et Koa. La première version stable 1.0 du framework a été livrée début novembre, Javalin n'est pas un framework complet, mais une bibliothèque d'API REST. Il est basé sur Kotlin, même si un certain nombre d’interfaces fonctionnelles ont été écrites en Java. Il n'y a pas de concept Modèle-Vue-Contrôleur (MVC) dans Javalin. Par contre, le framework prend en charge les moteurs de template, les websockets et le service de fichiers statiques. Javalin dispose également d'un serveur Jetty intégré ainsi que d'un rendu de modèle et de syntaxe Mardown. Javalin est téléchargeable sur le site du projet Javalin.