Menü
Developer

Node.js 0.6 mit nativer Windows-Portierung

Von
vorlesen Drucken Kommentare lesen 60 Beiträge

Die jetzt erschienene Version 0.6 von Node.js ist das dritte Release, das die Entwickler als stabil bezeichnen. Node.js ist ein eventbasiertes, nicht blockendes I/O-Framework auf Basis von JavaScript. Es stellt eine Möglichkeit zur Verfügung, Programme zu entwickeln, die sowohl auf dem Client als auf dem Server vollständig asynchron laufen und mit Events kommunizieren. Das Framework sorgt dabei für Nebenläufigkeit, vor allem bei langwierigen I/O-Operationen, die normalerweise den Prozess blockieren. Das braucht man vor allem für moderne Webanwendungen, die sich aus vielen parallelen Informationsströmen zusammensetzen.

Mit Node.js 0.6 wird Windows nun nativ durch das serverseitige JavaScript-Anwendungsframework unterstützt. Das geht durch die Nutzung sogenannter Windows I/O Completion Ports, mit denen sich die Socket-Kommunikation effizient verwalten lassen soll. An der nativen Windows-Unterstützung arbeiten die Cloud-Provider Rackspace, Joyent und Microsoft seit Juni 2011. Zuvor war die Plattform nur Unix-orientiert, und Node.js ließ sich unter Windows allein über Cygwin-Interface zum Laufen bringen.

Die Windows-Implementierung erforderte eine Überarbeitung der Architektur von Node.js, die offenbar auch positive Auswirkungen auf das I/O-Verhalten unter Linux nach sich gezogen hat. Jedoch obgleich die Startzeit kürzer geworden ist, gibt es auch noch eine die Performance beeinträchtigende Regression, die die Entwickler mit Node.js 0.6.1 beseitigt haben wollen. Durch die Beseitigung des Cygwin-Systems sollen Node.js-Anwendungen auf Windows-Systemen doppelten oder dreifachen Durchsatz gegenüber vorher erreichen und sich um ein Drittel schneller starten lassen. Ryan Dahl, Schöpfer von Node.js, bezeichnet die Windows-Portierung als guten Zwischenschritt, bei dem es allerdings noch viel zu tun gebe.

Weitere Neuerungen führen zu einem einfacheren Skalieren von Node.js-Applikationen auf Multiprozessorsystemen und umfassen integrierte Lastverteilungsfunktionen zum Verwalten eines Clusters einer Node.js-Instanz sowie eine bessere Unterstützung für die Interprozesskommunikation zwischen den Node-Instanzen. Das Framework wurde darüber hinaus auf die Version 3.6 der JavaScript-Engine V8 angepasst. Für die Zukunft planen die Entwickler, die Releasezyklen für stabile Versionen zu verkürzen, sodass schon im Januar 2012 mit einem neuen stabilen Release zu rechnen sein soll. Auch ist es geplant, Releases synchron mit Googles Browser und der darin enthaltenen V8 zu veröffentlichen.

Siehe dazu auch:

  • Node.js im heise Software-Verzeichnis

(ane)