Was ist Node.js? JavaScript auf dem Server
Wir erklären anhand von Beispielen die ereignisgesteuerte Architektur von Node.js, seine Stärken und typische Backend-Einsätze mit Express.js.

Node.js ist eine quelloffene Laufzeitumgebung, die JavaScript-Code außerhalb des Browsers ausführt – auf dem Server und auf dem Rechner. Sie basiert auf Googles V8-Engine und verwaltet dank ihres ereignisgesteuerten, nicht blockierenden Ein-/Ausgabemodells viele gleichzeitige Verbindungen effizient. Verbreitet ist sie bei APIs, Echtzeitanwendungen, Integrationsdiensten und Kommandozeilen-Tools.
Was ist Node.js?
Um die Frage Was ist Node.js zu beantworten, muss man zuerst ein Missverständnis ausräumen: Node.js ist weder eine Programmiersprache noch ein Framework. Die Sprache bleibt JavaScript; Node.js ist die Umgebung, die diese Sprache außerhalb des Browsers ausführen kann.
Viele Jahre lebte JavaScript nur im Browser. Node.js, das 2009 erschien, brachte V8, die JavaScript-Engine von Chrome, auf den Server und gab der Sprache Fähigkeiten wie Dateien lesen, Netzwerkverbindungen aufbauen und auf Datenbanken zugreifen. So lässt sich dieselbe Sprache im Frontend und im Backend einsetzen.
Das mitgelieferte npm verschafft Zugang zu einer der größten Open-Source-Paketregistrys der Welt. Mit diesem Werkzeug starten Sie ein Projekt, fügen Abhängigkeiten hinzu und führen Skripte aus – und das macht Node.js nicht nur für Serverentwickler, sondern auch für Frontend-Entwickler unverzichtbar.
Kennen Sie die Grundbegriffe von JavaScript noch nicht, empfehlen wir Ihnen zuerst den Beitrag Was ist JavaScript; der Code, den Sie in Node.js schreiben, nutzt dieselbe Syntax.
Wie funktioniert die ereignisgesteuerte Architektur?
Das markanteste Merkmal von Node.js ist das Event-Loop-Modell. Bei manchen klassischen Serverarchitekturen wird für jede Anfrage ein eigener Thread geöffnet, der wartet, bis die Datenbank antwortet. Node.js wartet dagegen nicht: Es stößt die Anfrage an, lässt sich benachrichtigen, wenn die Antwort da ist, und kümmert sich in der Zwischenzeit um andere Anfragen.
Sie können sich das wie einen Kellner im Restaurant vorstellen. Er gibt die Bestellung an die Küche weiter, bleibt aber nicht am Tisch stehen, bis das Essen gekocht ist; er bedient andere Tische und serviert, sobald das Gericht fertig ist. Ein einzelner Kellner kann so in einer Umgebung mit viel Wartezeit sehr viele Tische betreuen.
Dieses Modell heißt nicht blockierende Ein-/Ausgabe (Non-blocking I/O). Es macht Node.js effizient in Anwendungen mit vielen Wartezeiten, etwa bei Datenbankabfragen, Dateilesen oder Anfragen an einen anderen Dienst.
import { readFile } from "node:fs/promises";
console.log("1. Lesen gestartet");
const icerik = readFile("notlar.txt", "utf8")
.then(metin => console.log("3. Dosya okundu:", metin.length, "karakter"));
console.log("2. Diese Zeile läuft, ohne auf die Datei zu warten");Wofür wird Node.js verwendet?
Die Antwort auf die Frage Wofür wird Node.js verwendet ist breit gefächert; die Bereiche, in denen es am stärksten ist, haben aber eine Gemeinsamkeit: viele gleichzeitige Verbindungen und viel Wartezeit. Typische Einsatzgebiete sind:
- REST- und GraphQL-APIs: Backend-Dienste, die Daten für mobile Apps und Web-Frontends liefern
- Echtzeitanwendungen: Live-Chat, Benachrichtigungen, Bestellverfolgung, gemeinsame Arbeitsoberflächen
- Integrationsdienste: Zwischenschichten, die Daten zwischen Marktplätzen, Versanddienstleistern, Zahlungs- und Buchhaltungssystemen transportieren
- Webhook-Empfänger: Endpunkte, die Ereignisse externer Systeme entgegennehmen und verarbeiten
- Kommandozeilen-Tools und Build-Prozesse: Entwicklerwerkzeuge wie npm und Vite laufen ebenfalls auf Node.js
- Serverseitiges Rendering: Seiten werden mit Frameworks wie Next.js auf dem Server erzeugt
Ein Szenario aus der Praxis
Denken Sie an eine Hotelsoftware: Rezeptionsbildschirm, Online-Buchungsformular und Vertriebskanäle müssen dieselbe Zimmerverfügbarkeit sehen. Fällt eine Buchung herein, müssen die übrigen Oberflächen innerhalb von Sekunden aktualisiert werden. Solche Echtzeit-Benachrichtigungen sind das natürliche Einsatzfeld ereignisgesteuerter Server, die viele offene Verbindungen mit wenig Ressourcen halten können.
Node.js-Backend und Express.js
Das bekannteste Hilfswerkzeug für die Node.js-Backend-Entwicklung ist Express.js. Express ist ein kleines, flexibles Web-Framework, das den Umgang mit Routen, Anfragen und Antworten sowie Middleware erleichtert. Fastify, NestJS und Koa sind weitere Optionen mit demselben Zweck.
Das folgende Beispiel richtet einen einfachen API-Endpunkt ein, der eine Produktliste zurückgibt. In einem echten Projekt müssten diese Daten aus einer Datenbank kommen, und Authentifizierung sowie Fehlerbehandlung kämen hinzu. Wer den API-Begriff genauer verstehen möchte: Unser Beitrag Was ist eine API erklärt die REST-Logik Schritt für Schritt.
mkdir urun-api && cd urun-api
npm init -y
npm install expressconst express = require("express");
const app = express();
app.use(express.json());
const urunler = [
{ id: 1, ad: "Olivenöl" },
{ id: 2, ad: "Thymianhonig" }
];
app.get("/api/urunler", (req, res) => {
res.json(urunler);
});
app.listen(3000, () => {
console.log("API läuft unter http://localhost:3000");
});Stärken und Schwächen
Wie jede Technologie glänzt Node.js bei bestimmten Aufgaben, bei anderen ist es nicht die richtige Wahl. Entscheiden Sie nicht nach Schlagworten, sondern nach der Arbeitslast Ihrer Anwendung.
| Wo es stark ist | Wo Vorsicht geboten ist |
|---|---|
| Viele gleichzeitige Verbindungen | Rechenintensive Berechnungen |
| Echtzeitkommunikation (WebSocket) | Lang laufende Bild- und Videoverarbeitung |
| Eine Sprache für Frontend und Backend | Schnell wachsende Zahl an Abhängigkeiten |
| Riesiges Paket-Ökosystem über npm | Regelmäßige Überwachung der Paketsicherheit |
| Schnelles Prototyping | Architekturdisziplin bei großen Projekten |
Lösungen für aufwendige Berechnungen
Aufgaben, die den Prozessor lange belegen, lassen sich in Node.js an Worker-Threads, an eine separate Job-Queue oder an einen Dienst delegieren, der in einer dafür besser geeigneten Sprache geschrieben ist. So antwortet die Hauptanwendung weiter auf Nutzeranfragen.
Paketsicherheit
Das npm-Ökosystem ist ein großer Vorteil, doch jede Abhängigkeit birgt auch ein Risiko. Grundlegende Maßnahmen sind, gepflegte und weit verbreitete Pakete zu wählen, bekannte Schwachstellen regelmäßig mit npm audit zu prüfen und die Lock-Datei (package-lock.json) in der Versionsverwaltung zu halten.
Node.js bei Integrationen
Die Software eines Unternehmens arbeitet selten für sich allein. Die Website nimmt Bestellungen entgegen, die Versandinformationen gehen an den Versanddienstleister, die Rechnung landet im Buchhaltungsprogramm, der Bestand auf dem Marktplatz wird aktualisiert. Die Zwischenschichten, die Daten zwischen diesen Systemen transportieren, passen mit ihrer warteintensiven Natur sehr gut zu Node.js.
So wird zum Beispiel eine Bestellbenachrichtigung eines externen Dienstes an einem Endpunkt entgegengenommen, geprüft, in die Datenbank geschrieben und an die zuständigen Systeme weitergegeben. Solche Abläufe zuverlässig aufzusetzen erfordert auch Details wie Wiederholversuche, Protokollierung und Fehlerbenachrichtigung; bei einer Integration liegt die Schwierigkeit nicht im Code, sondern in diesen Details.
Speziell zu Marktplatz- und Versandanbindungen haben wir auf den Seiten Marktplatz-Anbindung und Versand-Anbindung beschrieben, wie die Daten von der Bestellung bis zur Zustellung fließen. In welcher Technologie sie auch geschrieben ist: Der Maßstab für eine gute Integration ist, dass sie manuelle Dateneingabe überflüssig macht.
Der Einstieg in Node.js
Zum Einstieg genügt es, von nodejs.org die zu Ihrem Betriebssystem passende aktuelle LTS-Version zu installieren. LTS ist die Versionslinie mit Langzeitunterstützung, die für produktive Projekte empfohlen wird. Nach der Installation können Sie die Version im Terminal mit den folgenden Befehlen prüfen.
- Beginnen Sie mit Kernthemen wie dem Modulsystem sowie Datei- und Pfadoperationen.
- Lernen Sie Promises und async/await, bis Sie asynchronen Code flüssig lesen können.
- Schreiben Sie mit Express eine kleine API und binden Sie danach eine Datenbank an.
- Lernen Sie Umgebungsvariablen, Fehlerbehandlung und Logging.
- Halten Sie Ihren Code in der Versionsverwaltung und committen Sie in kleinen Schritten.
node -v
npm -vVernachlässigen Sie die Versionsverwaltung nicht
Das Projekt von Anfang an mit Git zu verfolgen, erleichtert es, fehlerhafte Änderungen rückgängig zu machen und im Team zu arbeiten. Die Grundlagen finden Sie in unserem Beitrag Was ist Git.
Häufig gestellte Fragen
01Ist Node.js eine Programmiersprache?
Nein. Node.js ist eine Umgebung, die JavaScript außerhalb des Browsers ausführt. Die Sprache bleibt JavaScript; Node.js ergänzt sie um Serverfähigkeiten wie Dateisystem, Netzwerk und Prozessverwaltung.
02Node.js oder PHP – was ist besser?
Einen absoluten Sieger gibt es nicht. Node.js fühlt sich bei Echtzeit- und warteintensiven Aufgaben wohl, PHP im klassischen Shared Hosting und bei ausgereiften Content-Projekten. Oft entscheiden die Kompetenz des Teams und der Wartungsplan des Projekts.
03Braucht Node.js einen eigenen Server?
Weil Node.js-Anwendungen als dauerhaft laufender Prozess arbeiten, brauchen Sie einen Server, VPS oder eine Cloud-Plattform, die das unterstützt. Klassische Shared-Hosting-Pakete, die nur statische Dateien hosten, reichen meist nicht aus.
04Welche Node.js-Frameworks gibt es außer Express?
Fastify ist auf Performance ausgerichtet, NestJS bietet großen Teams eine geschichtete, TypeScript-orientierte Struktur. Koa verfolgt einen minimalistischeren Ansatz. Die Wahl sollte sich nach der Projektgröße und den Gewohnheiten des Teams richten.
Node.js bringt JavaScript auf den Server und macht es möglich, APIs, Echtzeitanwendungen und Integrationsschichten in einer einzigen Sprache zu bauen; bei rechenintensiven Aufgaben sollte es durch die richtige Architektur ergänzt werden. Planen Sie ein individuelles Backend oder Datenflüsse zwischen Systemen, können Sie sich unsere individuellen Softwarelösungen ansehen und für Shop- und Marktplatzanbindungen unseren Integrationsservice prüfen.


