Menü
Developer

JetBrains veröffentlicht Ktor 1.0 für asynchrone Server und Clients

Das Webframework ist in Kotlin erstellt und läuft serverseitig auf der JVM, während der Client ein Multiplattformprojekt ist.

Von
vorlesen Drucken Kommentare lesen 2 Beiträge
JetBrains veröffentlicht Ktor 1.0 für asynchrone Server und Clients

Der tschechische Toolhersteller JetBrains hat Version 1.0 von Ktor, einem Framework für asynchrone Client- und Serveranwendungen herausgegeben. Es verwendet Koroutinen für komplexe asynchrone Operationen und bringt eine eigene DSL (Domain-specific Language) zum Konfigurieren mit. Während Serveranwendungen auf der JVM laufen, können Entwickler Clients zusätzlich nach JavaScript kompilieren.

Koroutinen sind ein Ansatz zum Schreiben nicht blockierenden asynchronen Codes, was insbesondere bei Netzwerkanwendungen mit unberechenbaren Antwortzeiten von Vorteil ist. Vereinfacht ausgedrückt können die Routinen ihren Ablauf unterbrechen, wenn sie beispielsweise auf die Übertragung einer Datei über das Netzwerk warten, ohne dabei den aktiven Thread zu blockieren. In Kotlin gelten Koroutinen seit der Ende Oktober erschienenen Version 1.3 als stabil nachdem sie zuvor eineinhalb Jahre experimenteller Bestandteil der Programmiersprache waren.

Server und Client

Der HTTP-Server-Part setzt auf das Zusammenspiel mit Systemen wie dem Webserver Jetty oder dem Client-Server-Framework Netty beziehungsweise Java Servlets. In Kombination mit Jetty oder Netty soll Ktor bereits eine Sekunde nach dem Start eingehende Verbindungen verarbeiten können. Ktor setzt auf einen schlanken Kern, der sich durch Erweiterungen ergänzen lässt. Von Haus aus bringt das Framework unter anderem JSON-Serialisierung und Web Sockets mit. Der Server ist derzeit auf die Java Virtual Machine (JVM) begrenzt. Er lässt sich sowohl in Applikationsserver wie Tomcat als auch in Desktop oder sogar Android-Anwendungen einbinden.

Der Client ist als Multilplattform-Bibliothek umgesetzt und lässt sich unter anderem in der JVM als mobile Anwendung für iOS oder Android sowie in JavaScript verwenden. Kotlin bietet seit Version 1.2 Cross-Platform-Projekte, um neben der JVM unter anderem JavaScript anzusprechen. Hinsichtlich der Koroutinen und I/O-Architektur ist die Basis dieselbe wie beim Server-Part.

Tools und Dokumentation

Ktor ist ein Open-Source-Projekt, das unter der Apache-2-Lizenz steht. Zum Erstellen von Anwendungen für das Framework existiert ein Plug-in für die ebenfalls von JetBrains stammende Entwicklungsumgebung IntelliJ IDEA. Außerdem haben die Macher einen Web-basierten Generator für Ktor-Projekte erstellt. Eine QuickStart-Anleitung soll Entwicklern bei den ersten Schritten helfen. Darüber hinaus gibt es zahlreiche Beispielprojekte.

Im Ktor-Plug-in für IntelliJ IDEA konfigurieren Entwickler ihr Projekt.

(Bild: JetBrains)

Weitere Details lassen sich dem JetBrains-Blog entnehmen. Der Sourcecode ist auf GitHub zu finden. (rme)