Direkt zum Inhalt

Was ist Node.js?

Node.js ist eine serverseitige, eventbasierte JavaScript-Laufzeitumgebung, die von Entwickler Ryan Dahl als Anwendung für die Entwicklung von skalierbaren Netzwerkanwendungen konzipiert wurde. Seit der Einführung im Jahr 2009 hat Node.js immer mehr an Bekanntheit gewonnen und gehört mittlerweile zu den gefragtesten Anwendungs-Frameworks in der Programmierung. 

Node.js basiert als Anwendung mit seinen Funktionen auf der V8-Engine von Google Chrome. Das bedeutet, dass die gleiche Engine, die in Google Chrome zum Ausführen des JavaScript-Codes eingesetzt wird, auch in Node.js verwendet wird. 

Selbst wenn das Framework der Anwendung hauptsächlich als Laufzeitumgebung für die Webserver-Programmierung eingesetzt wird, findet es inzwischen auch in anderen Gebieten Verwendung, wie beispielsweise bei der Erstellung von Skripten oder Tools für die Kommandozeile oder bei der Entwicklung von Desktop- oder Echtzeitanwendungen.

Anwendungsvorteile von Node.js

Der wohl bedeutendste Unterschied von Node.js zu herkömmlichen Web-Serving-Techniken und -Funktionen ist der, dass es sich bei der Kommunikation um eine asynchrone, eine sogenannte Non-Blocking I/O handelt. Laut Entwickler Ryan Dahl wurde dies bis zur Einführung von Node.js falsch angewendet, da bis dahin das Thread-Modell im Einsatz war, und somit der gesamte Prozess der Anwendung aufgrund der synchronen Kommunikation blockiert wurde. Mit Node.js muss der Server nicht mehr für jede Anfrage einen eigenen Thread starten. Stattdessen gibt es einen Single-Thread als Funktion, der alle Anfragen in einer endlos laufenden Ereignisschleife nacheinander bearbeitet und somit viel weniger Arbeitsspeicher verbraucht als die herkömmlichen Modelle. Ein geniales Funktionsprinzip!

Zudem wird für eine Node.js Anwendung kein zusätzlicher Server benötigt, da die Anwendung gleichzeitig auch den Webserver darstellt. Dass Server und Client dabei die gleiche Programmiersprache (JavaScript) verwenden, ist sicherlich ein weiterer Vorteil für viele Nutzer, da die Einstiegshürde vor allem für Webentwickler entsprechend niedrig ist und sich fast jede Funktion von selbst erklärt.

Node.js kommt als Anwendung außerdem mit einer Reihe von Built-in-Modulen und -Funktionen, die ohne weitere Installation zur Verfügung stehen. Beispielsweise gibt es unter anderem das url-Modul, welches Funktionen zum Analysieren und Formatieren von URLs liefert, oder das fs-Modul, womit in der Anwendung der Zugriff auf das lokale Dateisystem ermöglicht wird. Auch das Erstellen von eigenen Modulen ist möglich. Zur Installation von Modulen/Funktionen und zur Verwaltung von Abhängigkeiten verfügt Node über einen sogenannten Node Package Manager (npm). Mit der Installation der Anwendung Node.js wird gleichzeitig auch npm installiert und steht dem Nutzer somit sofort zur Verfügung.

Weit verbreitete Anwendung NODe.JS

Laut der neuesten Umfrage von Stack Overflow, bei der etwa 90.000 Entwickler teilgenommen haben, gaben erstaunliche 50.4% der professionellen Entwickler an, die Anwendung Node.js als Framework einzusetzen. Netflix, Paypal, Uber und LinkedIn gehören unter anderem zu den bekannten großen Unternehmen, die sich ebenfalls für Node als Anwendung entschieden haben. Vor allem Stärken der Laufzeitumgebung, wie beispielsweise kurze Ladezeiten, das Verwenden der gleichen Programmiersprache für Server und Client und die Skalierbarkeit der Anwendung spielten bei der Entscheidung eine große Rolle.

Wie kann man Node.js lernen?

Da JavaScript eines der bekanntesten und gefragtesten Sprachen in der Webentwicklung ist und in der Regel in allen gängigen Webbrowsern verwendet wird, fällt der Einstieg in die Anwendung vor allem Webentwicklern besonders leicht. Wer die Skriptsprache beherrscht, aber ein Tutorial machen möchte, um die wichtigsten Methoden und Module von Node.js kennenzulernen, sollte einen Blick auf das Node.js Tutorial von w3schools werfen.

Weiterführende Informationen:

https://nodejs.org/en/about/

Video:

Buchtipps