Node.js 0.10 mit neuem Streams-Modul

 –  33 Kommentare

Die neue als stabil bezeichnete Version 0.10 des asynchronen ereignisgetriebenen JavaScript-Frameworks Node.js bringt als wichtigste Änderung das von Grund auf neu entwickelte Streams-Modul. Die I/O-Komponente war seit Dezember 2012 unter dem Namen streams2 angekündigt. Ihre API ist zwar weitgehend abwärtskompatibel, verspricht aber eine verlässlichere Entwicklung: Insbesondere führt ein Aufruf der Funktionen pause und resume nun tatsächlich zu einem angehaltenen beziehungsweise fortgesetzten Stream. In der alten Version des Moduls waren diese Funktionen hingegen eher als Vorschäge zu verstehen.

Besonderes Augenmerk verdient die Tatsache, dass Streams in Node.js 0.10 zunächst in einem angehaltenen Zustand starten: Das verhindert, dass data-Ereignisse verloren gehen können, bedeutet zugleich aber auch, dass das end-Ereignis unter Umständen niemals ausgelöst wird. Ein neu erhaltener Stream ist nun also im Falle des Falles von Hand fortzusetzen. Die Verwendung des data-Ereignisses gilt in der neuen Version allerdings ohnehin als veraltet: An dessen Stelle treten nun die neue Funktion read und das zugehörige readable-Ereignis.

Eine weitere Veränderung betritt das domain-Modul, das herangezogen wird, um Fehler abzufangen. Es wird nun nicht mehr als experimentell, sondern als "unstable" bezeichnet und könnte über kurz oder lang zum Standardmodul bei der Fehlerbehandlung werden. Außerdem haben die Entwickler am Laufzeitverhalten des Frameworks gefeilt, was zu einer besseren und konsistenteren Performance geführt haben soll

Nachdem nun die Version 0.10 erschienen ist, wollen die Entwickler bei der nächsten stabilen Version, Node.js 0.12, das Augenmerk auf eine sauberere Codebasis legen. So wird die HTTP-Implementierung des Frameworks als konfus und wirr bezeichnet. Bei ihr soll eine sauberere Trennung zwischen Client und Server erarbeitet und das Verhalten beim Socket-Pooling verbessert werden. Nach der Freigabe dieser Version geht es dann darum, Node.js 1.0 vorzubereiten.

Das I/O-Framework stößt seit einiger Zeit auf das Interesse all derer, die Server-Anwendungen mit JavaScript erstellen beziehungsweise diese steuern wollen. In relativ kurzer Zeit hat sich eine aktive Community um das Framework gebildet.

Node.js 0.10 gibt es nun einerseits als Sourcecode-Paket, andererseits in Form von Installern und Binärpaketen für Mac OS X, Linux, Solaris und Windows in 32- und 64-Bit-Versionen. Dokumentationsmaterial, Details zu den Änderungen zur letzten stabilen Version, Node.js 0.8 und ausführliche Release-Infos werden ebenfalls bereitgestellt. Node.js steht unter der MIT-Lizenz.

Siehe dazu auch:

  • Node.js im heise Software-Verzeichnis