Neues Framework für Node.js: Koa

Es bietet eine Alternative für das Middleware-Framework Connect und hat als Ziele, das Schreiben asynchronen Codes zu vereinfachen und das für Node.js typische Callback-Problem zu vermeiden.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 2 Min.
Von
  • Golo Roden

Das Framework Koa steht seit heute in der Version 0.1.0 zur Verfügung. Es bietet eine Alternative für Connect, einem Middleware-Framework für Node.js, und setzt auf einigen neuen Funktionen von EcmaScript 6 auf, darunter den sogenannten Generatorfunktionen und dem Schlüsselwort yield.

Ziel des neuen Frameworks ist, das Schreiben asynchronen Codes zu vereinfachen und das für Node.js typische Callback-Problem zu vermeiden. Daher kann man Koa nicht unter der derzeit aktuellen Version 0.10.23 von Node.js ausführen, sondern muss auf die Entwicklerversion 0.11.9 oder höher zurückgreifen. Außerdem ist die Verwendung des Parameters --harmony erforderlich, um die neuen Funktionen von EcmaScript 6 in Node.js zu aktivieren.

Koa enthält bewusst ausschließlich solche Funktionen, die für nahezu alle HTTP-Server relevant sind. Anders als Connect verzichtet es daher auf integrierte Middleware-Module, die sich allerdings mit dem Projekt koa-common nachrüsten lassen. Wie auch unter Connect ist es möglich, eigene Middleware zu implementieren.

Darüber hinaus wurde im Rahmen von Koa die in Connect und Express gängige Programmierschnittstelle vereinfacht: An die Stelle der bisherigen req-, res- und next-Objekte tritt nun ein gemeinsames Objekt, das die verschiedenen Funktionen vereint. Eine einfache "Hallo Welt"-Anwendung hat daher das folgende Format:

var koa = require('koa'),
app = koa();

app.use(function * (){
this.body = 'Hallo Welt!';
});

app.listen(3000);

Die Webseite des Projekt enthält eine ausführliche Einführung und eine umfassende Referenzdokumentation aller Eigenschaften und Funktionen. Beispiele und Komponenten stehen auf GitHub zur Verfügung. (ane)