Einführung in Node.js, Folge 2: Erste Schritte

Ein typisches Anwendungsgebiet für Node.js ist das Entwickeln serverseitiger Webanwendungen. Für einen einfachen Webserver genügen einige wenige Codezeilen. Bereits an diesem simplen Beispiel lassen sich einige grundlegende Konzepte von Node.js erklären.

In Pocket speichern vorlesen Druckansicht 5 Kommentare lesen
Lesezeit: 1 Min.
Von
  • Golo Roden

Ein typisches Anwendungsgebiet für Node.js ist das Entwickeln serverseitiger Webanwendungen. Für einen einfachen Webserver genügen einige wenige Codezeilen. Bereits an diesem simplen Beispiel lassen sich einige grundlegende Konzepte von Node.js erklären.

Eine häufig anzutreffende Aussage über Node.js lautet, dass die Laufzeitumgebung lediglich Single-Threaded sei. Das stimmt jedoch nicht, denn tatsächlich verwendet Node.js unter der Haube mehrere Threads. Allerdings kann der von Entwicklern selbstgeschriebene Code lediglich einen einzigen Threads nutzen.

Mehr Infos

Einführung in Node.js

Das schließt zwar das Parallelisieren von Code in Node.js aus, ermöglicht aber dennoch das Ausführen asynchronen Codes. Zur Koordination dessen verwendet Node.js intern eine sogenannte Event-Loop, die Philip Roberts sehr anschaulich in seinem Vortrag "What the heck is the event loop anyway?" erläutert.

Die Fähigkeit, asynchronen Code auf einfachem Weg definieren zu können, lässt sich bereits verwenden, wenn man einen eigenen Webserver implementieren will. Wie das geht und was es dabei zu beachten gilt, zeigt das folgende Video:

Empfohlener redaktioneller Inhalt

Mit Ihrer Zustimmmung wird hier eine Vimeo-Video (Vimeo LLC) geladen.

Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Vimeo LLC) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.

tl;dr: Node.js ermöglicht keinen parallelen, wohl aber asynchronen Code. Das kommt Entwicklern beispielsweise beim Schreiben eines eigenen Webservers zugute und ermöglicht ein ausgesprochen einfaches und zugleich mächtiges Programmiermodell. ()