
Node.js
Node.js ist eine Software, mit der man Programme in der Sprache JavaScript außerhalb des Browsers ausführen kann. Damit lassen sich Server, Werkzeuge und ganze Webdienste in derselben Sprache schreiben wie die Anzeige im Browser.
JavaScript ist die Sprache, in der Webseiten programmiert werden. Lange Zeit lief sie ausschließlich im Browser, also in dem Programm, mit dem man Seiten anschaut. Node.js ändert das: Es ist eine Software, die JavaScript direkt auf einem Computer ausführt, ohne Browser. Damit kann man mit dieser Sprache auch Programme schreiben, die im Hintergrund auf einem entfernten Rechner laufen und Daten ausliefern. Node.js erschien 2009 und ist kostenlos und quelloffen, jeder darf es also benutzen und den Programmcode einsehen. Heute läuft ein großer Teil der Dienste im Internet damit.
Eine Sprache für die ganze Anwendung
Vor Node.js brauchte ein Webprojekt meist zwei Sprachen. Im Browser lief JavaScript, auf dem entfernten Rechner dagegen etwa PHP, Java oder Python. Ein Team musste also beides beherrschen oder sich aufteilen. Node.js macht diese Trennung überflüssig, weil beide Seiten dieselbe Sprache sprechen können.
Das spart Zeit und senkt Kosten. Kleine Bausteine lassen sich zwischen beiden Seiten teilen, etwa die Regeln zur Prüfung eines Anmeldeformulars. Startups schätzen das besonders, weil sie mit wenigen Leuten schnell etwas Fertiges brauchen. Große Firmen wie Netflix, PayPal und LinkedIn haben Teile ihrer Systeme auf Node.js umgestellt.
Dazu kommt ein riesiger Vorrat an fertigem Code. Über den Paketmanager npm stehen mehr als zwei Millionen freie Programmbausteine bereit. Wer eine Bezahlfunktion oder einen E-Mail-Versand braucht, schreibt das selten von Hand. Diese Auswahl ist ein Hauptgrund für die Verbreitung von Node.js.
Warten, ohne stehen zu bleiben
Im Kern von Node.js steckt V8, die JavaScript-Maschine aus dem Browser Chrome. Sie übersetzt den geschriebenen Code in Befehle, die der Prozessor direkt versteht. Deshalb ist Node.js für eine Skriptsprache erstaunlich schnell. Drumherum liegen Zusatzfunktionen, die es im Browser nicht gibt, etwa der Zugriff auf Dateien und das Netzwerk.
Die eigentliche Besonderheit ist die Arbeitsweise. Node.js benutzt im Grunde nur einen einzigen Arbeitsstrang, verteilt die Arbeit also nicht auf viele parallele Abläufe. Trotzdem kann es tausende Anfragen gleichzeitig bedienen. Der Trick: Wenn eine Aufgabe auf etwas warten muss, etwa auf eine Datenbank, legt Node.js sie beiseite und macht mit der nächsten weiter. Ist das Ergebnis da, wird die Aufgabe wieder aufgenommen.
Ein Kellner, der Bestellungen aufnimmt und weitergeht, statt neben der Küche zu warten, bedient so viele Tische allein. Genau das macht Node.js stark bei vielen kleinen Anfragen. Der Nachteil zeigt sich bei langen Rechenaufgaben: Wer den einen Arbeitsstrang minutenlang blockiert, legt alle anderen Nutzer lahm. Für schwere Berechnungen greift man deshalb oft zu anderen Sprachen.
Wo Node.js im Hintergrund arbeitet
Wer eine App wie Uber oder einen Chat benutzt, spricht sehr wahrscheinlich mit einem Node.js-Programm. Es nimmt die Anfrage entgegen, holt Daten aus einer Datenbank und schickt eine Antwort zurück. Auch Live-Funktionen laufen häufig darüber, etwa Sofortnachrichten oder ständig aktualisierte Kurse. Solche Verbindungen bleiben lange offen, und genau darin ist Node.js gut.
Für Programmierer ist Node.js außerdem ein Werkzeugkasten. Viele Hilfsprogramme, mit denen Webseiten gebaut und getestet werden, laufen darauf. Selbst wer am Ende gar kein Node.js ausliefert, hat es meist auf seinem Rechner installiert.
In Wirtschaftsnachrichten taucht der Name meist in Stellenanzeigen und Übernahmen auf. Kenntnisse in Node.js gehören zu den häufigsten Anforderungen für Webentwickler. Auch bei KI-Diensten spielt es eine Rolle: Die Programme, die Anfragen an ein Sprachmodell weiterreichen und Antworten an die Nutzer verteilen, sind oft damit gebaut. Node.js rechnet also nicht selbst mit dem Modell, sondern organisiert den Weg dorthin.