Learn JavaScript logo
Navigation umschalten

Node.js lernen - JavaScript auf dem Server

Node.js ermöglicht, JavaScript außerhalb des Browsers auszuführen. Perfect für Backend.

Was ist Node.js?

Node.js ist:

  • Eine JavaScript Runtime (nicht eine Sprache)
  • Läuft auf Servern, nicht im Browser
  • Eventgesteuerte, nicht-blockierende I/O
  • Ideal für Web Services und APIs
  • Verwendet NPM (Node Package Manager)

Kurz: "JavaScript auf dem Server"

Warum Node.js?

Vorteile

  • ✓ Gleiche Sprache Frontend + Backend (JavaScript)
  • ✓ Sehr schnell (V8 Engine)
  • ✓ Nicht-blockierend (viele gleichzeitige Anfragen)
  • ✓ Großes Ökosystem (npm: 3M+ Pakete)
  • ✓ Einfach zu lernen (nicht komplex wie Java)
  • ✓ Sehr populär (großer Jobmarkt)

Nachteile

  • ✗ Single-threaded (Scaling braucht Workarounds)
  • ✗ Weniger geeignet für CPU-intensive Tasks
  • ✗ Weniger performant als Go oder Rust

Voraussetzungen

Du brauchst:

  • ✓ Solides JavaScript Verständnis
  • ✓ Async/Await und Promises
  • ✓ Basics von APIs (HTTP, JSON)
  • ✓ Node.js + npm Installation

Nicht nötig:

  • ✗ Kein SQL erforderlich (lernt während Development)
  • ✗ Kein Backend-Vorwissen

Lernpfad: Node.js

Phase 1: Node.js Basics (1–2 Wochen)

Was du lernst:

  • Node.js Installation und CLI
  • NPM und package.json
  • Modules und require()
  • File System Operations
  • Event Emitter
  • Einfache Scripts schreiben

Praktisches Projekt:

  • CLI-Tool (Datei-Manager oder ähnlich)
  • NPM-Pakete nutzen

Phase 2: Web Server und Express (2–3 Wochen)

Was du lernst:

  • HTTP Basics
  • Express.js Framework
  • Routing
  • Middleware
  • Request/Response Handling
  • Static Files Serving

Praktisches Projekt:

  • Einfacher Web Server
  • Express App mit mehreren Routes

Phase 3: APIs bauen (2–3 Wochen)

Was du lernst:

  • REST API Struktur
  • JSON Response
  • HTTP Methods (GET, POST, PUT, DELETE)
  • Request Body parsing
  • Error Handling
  • Status Codes

Praktisches Projekt:

  • Todo API
  • CRUD Endpoints

Phase 4: Datenbanken (2–4 Wochen)

Was du lernst:

  • SQL Basics (oder No-SQL)
  • PostgreSQL oder MongoDB
  • ORMs/ODMs (Prisma, Mongoose)
  • Queries schreiben
  • Relationships

Praktisches Projekt:

  • Blog API mit Datenbank
  • Users, Posts, Comments

Phase 5: Authentication & Advanced (2–4 Wochen)

Was du lernst:

  • Password Hashing
  • JWT Tokens
  • Session Management
  • Validation
  • Security Basics
  • Testing

Praktisches Projekt:

  • Komplexe API mit Auth
  • User Registration/Login

Core Concepts

Modules

// math.js
module.exports = {
  add: (a, b) => a + b
};

// app.js
const math = require('./math');
console.log(math.add(2, 3)); // 5

Async/Await

async function fetchUser(id) {
  try {
    const response = await fetch(`/api/users/${id}`);
    const user = await response.json();
    return user;
  } catch (error) {
    console.error(error);
  }
}

Express Server

const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(3000, () => {
  console.log('Server running on port 3000');
});

Express Framework

Express ist das populäre Web Framework für Node.js:

  • Routing
  • Middleware
  • Static Files
  • Template Engines
  • Error Handling

Einstieg: 1–2 Wochen bis produktiv

Datenbanken

SQL (PostgreSQL)

  • Strukturiert
  • Relational
  • ACID-Garantien
  • Best For: Strukturierte Daten

No-SQL (MongoDB)

  • Flexibel
  • Document-oriented
  • Skalierbar
  • Best For: Unstrukturierte Daten

Anfänger: PostgreSQL einfacher

Deployment

Beliebte Hosting-Services

  • Heroku: Einfach, kostenlos Hobby
  • Railway: Modern, Hobby-friendly
  • Render: Wie Heroku
  • AWS/DigitalOcean: Komplexer, billiger

Ein-Click Deployment oft verfügbar.

Testing

Unit Tests

// math.test.js
const math = require('./math');

test('add 2 + 3 equals 5', () => {
  expect(math.add(2, 3)).toBe(5);
});

Tools: Jest, Mocha

Node.js vs. Alternativen

Runtime Sprache Lernen Performance
Node.js JavaScript Einfach Gut
Python + Django Python Mittel Gut
Go Go Mittel Sehr Gut
Java Java Schwer Sehr Gut

Anfänger: Node.js oder Python

Häufig gestellte Fragen

Sollte ich Node.js oder Python Backend lernen?

Beides ok. JavaScript-Anfänger: Node.js (gleiche Sprache).

Ist Node.js für Production ok?

Ja, absolut. Netflix, Uber, PayPal nutzen Node.js.

Brauche ich Datenbank-Wissen vor Node.js?

Nein, lernt während Development. SQL Basics danach.

Welches Framework: Express, Fastify, Koa?

Anfänger: Express (am beliebtesten). Später: Andere erkunden.

Kann ich Node.js ohne Frontend lernen?

Ja, Tools wie Postman oder curl testen die API.

Verwandte Seiten