Ajouter un commentaire

Ktor 1.0 : un framework Kotlin pour construire des applications client/serveur asynchrones

Par:
fredericmazue

ven, 23/11/2018 - 15:35

Ktor est un framework Kotlin pour la construction de serveurs et de clients asynchrones dans des systèmes connectés. Il est créé par l’équipe de Kotlin et, en tant que tel, il tire pleinement parti des possibilités de ce langage.

Ktor est construit à partir de zéro à l'aide de coroutines, qui permettent d'exprimer des constructions asynchrones complexes comme s'il s'agissait d'un simple code séquentiel. Les coroutines sont également très efficaces au moment de l'exécution, soulignent les développeurs de Ktor. De plus, l'utilisation des fonctionnalités de Kotlin permet de fournir un langage DSL (Domain-Specific Langage) qui consiste en une API concise et conviviale pour les développeurs permettant de configurer une application sans magie, uniquement avec du code.

Une application Ktor peut être hébergée dans un conteneur de Servlet 3.0+ tel que Tomcat, ou fonctionner de manière autonome avec Netty ou Jetty. Le support d'autres hôtes peut être ajouté via une API

Ktor permet de créer des applications web en Kotlin rapidement, avec très peu d'efforts. Voici un exemple d'un serveur 'Hello World' :

import io.ktor.server.netty.*
import io.ktor.routing.*
import io.ktor.application.*
import io.ktor.http.*
import io.ktor.response.*
import io.ktor.server.engine.*

fun main(args: Array<String>) {
    embeddedServer(Netty, 8080) {
        routing {
            get("/") {
                call.respondText("Hello, world!", ContentType.Text.Html)
            }
        }
    }.start(wait = true)
}

Une documentation et un guide de démarrage sont disponibles sur le site officiel de Ktor

Ktor est un logiciel libre sous licence Apache 2.0, disponible sur GitHub.

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
 N   N   QQQ    FFFF  TTTTTT  III 
NN N Q Q F TT I
N N N Q Q FFF TT I
N NN Q QQ F TT I
N N QQQQ F TT III
Q