Node.js 0.10 mit neuem Streams-Modul
Die API des neuen streams2-Moduls des asynchronen JavaScript-Frameworks verspricht eine verlĂ€sslichere Entwicklung. Erstmals weisen die Entwickler auĂerdem auf eine bevorstehende Version 1.0 hin.
Die neue als stabil bezeichnete Version 0.10 [1] des asynchronen ereignisgetriebenen JavaScript-Frameworks Node.js [2] 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 [3]. 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 [4], andererseits in Form von Installern und BinĂ€rpaketen [5] fĂŒr Mac OS X, Linux, Solaris und Windows in 32- und 64-Bit-Versionen. Dokumentationsmaterial [6], Details zu den Ănderungen [7] zur letzten stabilen Version, Node.js 0.8 und ausfĂŒhrliche Release-Infos [8] werden ebenfalls bereitgestellt. Node.js steht unter der MIT-Lizenz.
Siehe dazu auch:
- Node.js [9] im heise Software-Verzeichnis
URL dieses Artikels:
https://www.heise.de/-1800003
Links in diesem Artikel:
[1] http://blog.nodejs.org/2013/03/11/node-v0-10-0-stable/
[2] http://nodejs.org/
[3] http://blog.nodejs.org/2012/12/21/streams2/
[4] http://nodejs.org/dist/v0.10.0/node-v0.10.0.tar.gz
[5] http://nodejs.org/docs/v0.10.0/download/
[6] http://nodejs.org/docs/v0.10.0/api/
[7] https://github.com/joyent/node/wiki/Api-changes-between-v0.8-and-v0.10
[8] http://nodejs.org/dist/v0.10.0/
[9] http://www.heise.de/download/node.js-1183901.html
Copyright © 2013 Heise Medien