Hochperformante Webanwendungen mit JavaScriptMeistern 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 entwickelnInstallation, Grundlagen, Best PracticesDebugging, Skalierung, QualitätssicherungAktuell zu Version 24Aus dem Inhalt:Grundlagen und InstallationNode.js-Module verwendenNode Package Manager (z. B. NPM, Yarn)Erfolgreich arbeiten mit Nest.jsAsynchrone ProgrammierungAnbindung von DatenbankenGraphQL nutzenPerformance, Testing, QualitätssicherungSkalierbarkeit und DeploymentDeno und Bun kennenlernenNode.js und KIVerschlü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 ... TypeScript im Einsatz in einer Node.js-Applikation ... 520
13.9 ... Native TypeScript-Unterstützung in Node.js ... 523
13.10 ... Zusammenfassung ... 525
14. Webapplikationen mit Nest ... 527
14.1 ... Installation und erste Schritte mit Nest ... 528
14.2 ... Die Nest CLI ... 530
14.3 ... Struktur der Applikation ... 534
14.4 ... Module -- logische Einheiten im Quellcode ... 536
14.5 ... Controller -- die Endpunkte einer Applikation ... 539
14.6 ... Providers -- die Businesslogik der Applikation ... 543
14.7 ... Validierung ... 548
14.8 ... Zugriff auf Datenbanken ... 551
14.9 ... Dokumentation der Endpunkte mit OpenAPI ... 559
14.10 ... Authentifizierung ... 563
14.11 ... Ausblick: Testen in Nest ... 571
14.12 ... Zusammenfassung ... 574
15. Node für Kommandozeilenwerkzeuge ... 577
15.1 ... Grundlagen ... 577
15.2 ... Der Aufbau einer Kommandozeilenapplikation ... 580
15.3 ... Zugriff auf Ein- und Ausgabe ... 585
15.4 ... Werkzeuge ... 594
15.5 ... Signale ... 605
15.6 ... Exit Codes ... 608
15.7 ... Zusammenfassung ... 609
16. Asynchrone Programmierung ... 611
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 ... TypeScript im Einsatz in einer Node.js-Applikation ... 520
13.9 ... Native TypeScript-Unterstützung in Node.js ... 523
13.10 ... Zusammenfassung ... 525
14. Webapplikationen mit Nest ... 527
14.1 ... Installation und erste Schritte mit Nest ... 528
14.2 ... Die Nest CLI ... 530
14.3 ... Struktur der Applikation ... 534
14.4 ... Module -- logische Einheiten im Quellcode ... 536
14.5 ... Controller -- die Endpunkte einer Applikation ... 539
14.6 ... Providers -- die Businesslogik der Applikation ... 543
14.7 ... Validierung ... 548
14.8 ... Zugriff auf Datenbanken ... 551
14.9 ... Dokumentation der Endpunkte mit OpenAPI ... 559
14.10 ... Authentifizierung ... 563
14.11 ... Ausblick: Testen in Nest ... 571
14.12 ... Zusammenfassung ... 574
15. Node für Kommandozeilenwerkzeuge ... 577
15.1 ... Grundlagen ... 577
15.2 ... Der Aufbau einer Kommandozeilenapplikation ... 580
15.3 ... Zugriff auf Ein- und Ausgabe ... 585
15.4 ... Werkzeuge ... 594
15.5 ... Signale ... 605
15.6 ... Exit Codes ... 608
15.7 ... Zusammenfassung ... 609
16. Asynchrone Programmierung ... 611
Titel
Node.js
Untertitel
Das umfassende Handbuch
Autor
EAN
9783367108367
Format
E-Book (pdf)
Hersteller
Veröffentlichung
06.11.2025
Digitaler Kopierschutz
frei
Dateigrösse
17 MB
Anzahl Seiten
989
Lesemotiv
Unerwartete Verzögerung
Ups, ein Fehler ist aufgetreten. Bitte versuchen Sie es später noch einmal.