Node - strikt ereignisorientierter Javascript-Server
System eignet sich besonders für viele parallele und lange laufende Anfragen
Ryan Dahl hat mit Node einen Javascript-Server entwickelt, der strikt ereignisorientiert arbeitet und dadurch für Applikationen mit hoher Parallelität besonders gut geeignet sein soll.
Nach Ansicht von Dahl ist Javascript dafür besonders geeignet, da die Sprache von Hause aus auf ereignisorientierte Applikationen angelegt ist. Dafür sorgen vor allem anonyme Funktionen und Closure-Unterstützung, womit sich eingebettete Callbacks leicht umsetzen lassen.
Node selbst ist zu weiten Teilen in C und zu einem kleineren Teil in Javascript geschrieben. Die Software nutzt unter anderem Googles Javascript-Engine V8 sowie Marc Lehmanns Bibliotheken libev und libeio.
Dahl hat sich bei Node an Twisted (Python) und Eventmachine orientiert, verspricht aber, anders als diese, komplett auf blockierende Bibliotheken zu verzichten. Auch Zugriffe auf das Dateisystem oder DNS-Abfragen werden über nicht blockierende Callbacks und eine Ereignisschleife abgewickelt. So kann die Software ihre Stärken vor allem bei vielen gleichzeitigen und lange laufenden Anfragen ausspielen, was sich bereits zahlreiche Projekte, die auf Node aufsetzen, zunutze machen.
Node kann frei genutzt werden, der Quelltext ist über Github verfügbar und sollte unter jedem Posix-konformen Betriebssystem laufen; getestet wurde die Software unter Linux, Mac OS X und FreeBSD. Informationen zu Node finden sich unter nodejs.org. Ende Dezember 2009 plant Dahl die Veröffentlichung von Node 0.2. Auf dem Plan steht eine stärkere Modularisierung, Bibliotheken für den Zugriff auf die am häufigsten genutzten Datenbanken, TLS-Unterstützung sowie ein an Web Worker angelehntes API und Leistungssteigerungen.






JavaScript ist alles andere als eine Dreckssprache; sie hat nur leider einige...
Vieles was gehyped wird, ist oft ein alter Hut. Teilweise kommt es auch darauf an, das...
Kommentieren