Hochperformante Webanwendungen mit JavaScript

Meistern Sie Node.js, die führende Plattform für serverseitiges JavaScript ! In diesem umfassenden Handbuch begleitet Sie Sebastian Springer von den ersten Grundlagen bis zu fortgeschrittenen Techniken Schritt für Schritt. Anhand zahlreicher praxisnaher Beispiele lernen Sie, wie Sie robuste und skalierbare Webanwendungen entwickeln . Finden Sie Antworten auf Ihre täglichen Herausforderungen und profitieren Sie von Expertenwissen und bewährten Lösungen . Die fünfte, umfassend aktualisierte und erweiterte Auflage stellt sicher, dass Sie mit den neuesten Entwicklungen arbeiten.

  • Professionelle Web-Backends entwickeln
  • Installation, Grundlagen, Best Practices
  • Debugging, Skalierung, Qualitätssicherung
  • Aktuell zu Version 24

Aus dem Inhalt:

  • Grundlagen und Installation
  • Node.js-Module verwenden
  • Node Package Manager (z. B. NPM, Yarn)
  • Erfolgreich arbeiten mit Nest.js
  • Asynchrone Programmierung
  • Anbindung von Datenbanken
  • GraphQL nutzen
  • Performance, Testing, Qualitätssicherung
  • Skalierbarkeit und Deployment
  • Deno und Bun kennenlernen
  • Node.js und KI
  • Verschlüsselung


Aktuell zu Version 24

Autorentext
Sebastian Springer ist JavaScript-Engineer bei MaibornWolff. Als Dozent lehrt er JavaScript an der Technischen Hochschule Rosenheim. Er publiziert regelmäßig in Fachzeitschriften, schreibt Fachbücher zu Node.js und ist ein gefragter Speaker auf allen wichtigen JavaScript- und Webentwickler-Konferenzen. Sebastian Springer bietet auch Seminare zu JavaScript und Node.js an und ist Trainer für mehrere Rheinwerk Webinare.

Inhalt


Materialien zum Buch ... 23

Vorwort ... 25

1. Grundlagen ... 29


1.1 ... Die Geschichte von Node.js ... 31

1.2 ... Die Organisation von Node.js ... 36

1.3 ... Versionierung von Node.js ... 37

1.4 ... Stärken von Node.js ... 39

1.5 ... Einsatzgebiete von Node.js ... 40

1.6 ... Die wichtigsten Merkmale von Node.js ... 41

1.7 ... Das Herzstück -- die V8-Engine ... 42

1.8 ... Bibliotheken um die Engine ... 49

1.9 ... Zusammenfassung ... 55


2. Installation ... 57


2.1 ... Node.js-Versionierung ... 58

2.2 ... Installation mit dem Installer ... 60

2.3 ... Installation über den Paketmanager des Systems ... 62

2.4 ... Einsatz eines Version-Managers ... 63

2.5 ... Node.js in einem Container ausführen ... 68

2.6 ... Zusammenfassung ... 77


3. Ein erstes Beispiel ... 79


3.1 ... REPL -- die interaktive Shell von Node.js ... 79

3.2 ... Die erste Applikation ... 88

3.3 ... Debuggen von Node.js-Applikationen ... 99

3.4 ... Entwicklungswerkzeug »nodemon« ... 110

3.5 ... Node.js im Watch-Modus ... 111

3.6 ... Zusammenfassung ... 114


4. Node.js-Module ... 117


4.1 ... Modularer Aufbau ... 117

4.2 ... Kernmodule ... 120

4.3 ... JavaScript-Modulsysteme ... 146

4.4 ... Eigene Module erzeugen und verwenden ... 151

4.5 ... Module dynamisch laden ... 164

4.6 ... Zusammenfassung ... 165


5. HTTP ... 167


5.1 ... Das HTTP-Protokoll ... 167

5.2 ... Der Webserver ... 168

5.3 ... Node.js als HTTP-Client ... 203

5.4 ... Sichere Kommunikation mit HTTPS ... 211

5.5 ... HTTP/2 ... 213

5.6 ... Zusammenfassung ... 224


6. Express ... 227


6.1 ... Aufbau ... 227

6.2 ... Installation ... 229

6.3 ... Grundlagen ... 230

6.4 ... Architektur einer Express-Applikation ... 234

6.5 ... Filmdatenbank ... 237

6.6 ... Middleware ... 247

6.7 ... Dynamische Routen -- Löschen von Datensätzen ... 254

6.8 ... Anlegen und Bearbeiten von Datensätzen -- Zugriff auf den Request-Body ... 257

6.9 ... Validierung von Eingaben mit Zod ... 265

6.10 ... Express 5 ... 269

6.11 ... HTTPS und HTTP/2 ... 271

6.12 ... Zusammenfassung ... 273


7. Template-Engines ... 277


7.1 ... Template-Engines in der Praxis -- Pug ... 278

7.2 ... Handlebars ... 294

7.3 ... Zusammenfassung und Ausblick ... 299


8. Anbindung von Datenbanken ... 301


8.1 ... Node.js und relationale Datenbanken ... 302

8.2 ... Node.js und nicht relationale Datenbanken ... 326

8.3 ... Zusammenfassung ... 342


9. Authentifizierung und Sessionhandling ... 345


9.1 ... Passport ... 345

9.2 ... Setup und Konfiguration ... 346

9.3 ... Anmeldung an der Applikation ... 350

9.4 ... Zugriff auf Ressourcen ... 360

9.5 ... Externer Identity Provider ... 372

9.6 ... Zusammenfassung ... 378


10. REST-Server ... 381


10.1 ... REST -- eine kurze Einführung und wie es in Webapplikationen verwendet wird ... 381

10.2 ... Zugriff auf die Applikation ... 382

10.3 ... Anpassungen an der Applikationsstruktur ... 384

10.4 ... Lesende Anfragen ... 385

10.5 ... Schreibende Anfragen ... 396

10.6 ... Authentifizierung mit JSON Web Tokens ... 407

10.7 ... Einbindung eines externen Identity Providers ... 415

10.8 ... OpenAPI-Spezifikation -- Dokumentation mit Swagger ... 419

10.9 ... Validierung ... 424

10.10 ... Zusammenfassung ... 430


11. GraphQL ... 433


11.1 ... GraphQL-Bibliotheken ... 434

11.2 ... Integration in Express ... 435

11.3 ... Daten über die Schnittstelle auslesen ... 440

11.4 ... Schreibende Zugriffe auf die GraphQL-Schnittstelle ... 446

11.5 ... Mit Subscriptions Updates in Echtzeit erhalten ... 453

11.6 ... Authentifizierung für die GraphQL-Schnittstelle ... 457

11.7 ... Zusammenfassung ... 462


12. Echtzeit-Webapplikationen ... 465


12.1 ... Die Beispielapplikation ... 466

12.2 ... Setup ... 466

12.3 ... WebSockets ... 473

12.4 ... Node.js als WebSocket-Client ... 487

12.5 ... Socket.IO ... 488

12.6 ... Zusammenfassung ... 494


13. Typsichere Applikationen in Node.js ... 497


13.1 ... Typsysteme für Node.js ... 498

13.2 ... Werkzeuge und Konfiguration ... 501

13.3 ... TypeScript-Grundlagen ... 506

13.4 ... Klassen ... 512

13.5 ... Interfaces ... 515

13.6 ... Type Aliases in TypeScript ... 517

13.7 ... Generics ... 519

13.8 ... TypeScr…

Titel
Node.js
Untertitel
Das umfassende Handbuch
EAN
9783367108367
Format
E-Book (pdf)
Hersteller
Veröffentlichung
06.11.2025
Digitaler Kopierschutz
frei
Dateigrösse
17 MB
Anzahl Seiten
989
Lesemotiv