Philip Ackermann
Fullstack-Entwicklung
Das Handbuch für Webentwickler in neuer Auflage. Über 800 Seiten Roadmap
Philip Ackermann
Fullstack-Entwicklung
Das Handbuch für Webentwickler in neuer Auflage. Über 800 Seiten Roadmap
- Gebundenes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Der Fullstack-Entwickler ist DER Mythos unserer heutigen Zeit. Aber wer kann sich wirklich in allen Front- und Backendtechnologien auskennen und alle Programmiersprachen beherrschen? Sie werden feststellen: Darauf kommt es gar nicht an. Dieses Nachschlagewerk hilft Ihnen dabei, in der Flut aus Programmiersprachen, Technologien und Tools der Webentwicklung den Kopf über Wasser zu halten. Lernen Sie, welche Programmiersprache für Ihre individuellen Aufgaben die richtige ist und verstehen Sie die Zusammenhänge zwischen den verschiedenen Technologien. Von HTML, CSS, JavaScript und PHP bis zu…mehr
Andere Kunden interessierten sich auch für
- Philip AckermannJavaScript49,90 €
- Marijn HaverbekeJavaScript32,90 €
- Philip AckermannProfessionell entwickeln mit JavaScript49,90 €
- Christian UllenboomCaptain CiaoCiao erobert Java39,90 €
- Michael IndenEinfach Java22,90 €
- Janet ValadePHP & MySQL für Dummies19,99 €
- Philip AckermannSchrödinger programmiert Java49,90 €
-
-
-
-
-
-
-
-
-
-
-
-
-
Der Fullstack-Entwickler ist DER Mythos unserer heutigen Zeit. Aber wer kann sich wirklich in allen Front- und Backendtechnologien auskennen und alle Programmiersprachen beherrschen? Sie werden feststellen: Darauf kommt es gar nicht an. Dieses Nachschlagewerk hilft Ihnen dabei, in der Flut aus Programmiersprachen, Technologien und Tools der Webentwicklung den Kopf über Wasser zu halten. Lernen Sie, welche Programmiersprache für Ihre individuellen Aufgaben die richtige ist und verstehen Sie die Zusammenhänge zwischen den verschiedenen Technologien. Von HTML, CSS, JavaScript und PHP bis zu Webprotokollen, Webarchitektur u.v.m.
Aus dem Inhalt:
Web-Protokolle und Web-Formate verwendenWebseiten erstellen mit HTML, CSS und JavaScriptWeb Architekturen: MVC, MVP, MVVM, SOA, Microservices, MicrofrontendsProgrammiersprachen und Web-Frameworks einsetzenWebservices implementieren: REST und GraphQLDatenbanken beherrschen: SQL und NoSQLAuthentifizierungsmechanismen verstehenWebprojekte organisieren und verwaltenProjektmanagement und Tools
Aus dem Inhalt:
Web-Protokolle und Web-Formate verwendenWebseiten erstellen mit HTML, CSS und JavaScriptWeb Architekturen: MVC, MVP, MVVM, SOA, Microservices, MicrofrontendsProgrammiersprachen und Web-Frameworks einsetzenWebservices implementieren: REST und GraphQLDatenbanken beherrschen: SQL und NoSQLAuthentifizierungsmechanismen verstehenWebprojekte organisieren und verwaltenProjektmanagement und Tools
Produktdetails
- Produktdetails
- Rheinwerk Computing
- Verlag: Rheinwerk Computing / Rheinwerk Verlag
- Artikelnr. des Verlages: 459/09084
- 2., erw. Aufl.
- Seitenzahl: 807
- Erscheinungstermin: 5. April 2023
- Deutsch
- Abmessung: 246mm x 180mm x 50mm
- Gewicht: 1612g
- ISBN-13: 9783836290845
- ISBN-10: 3836290847
- Artikelnr.: 64070206
- Herstellerkennzeichnung
- Rheinwerk Publishing Inc.
- 2 Heritage Drive
- 11201 Quincy, MA, US
- Info@rheinwerk-verlag.de
- www.rheinwerk-verlag.de
- Rheinwerk Computing
- Verlag: Rheinwerk Computing / Rheinwerk Verlag
- Artikelnr. des Verlages: 459/09084
- 2., erw. Aufl.
- Seitenzahl: 807
- Erscheinungstermin: 5. April 2023
- Deutsch
- Abmessung: 246mm x 180mm x 50mm
- Gewicht: 1612g
- ISBN-13: 9783836290845
- ISBN-10: 3836290847
- Artikelnr.: 64070206
- Herstellerkennzeichnung
- Rheinwerk Publishing Inc.
- 2 Heritage Drive
- 11201 Quincy, MA, US
- Info@rheinwerk-verlag.de
- www.rheinwerk-verlag.de
Philip Ackermann ist CTO der Cedalo GmbH und Autor mehrerer Fachbücher und Fachartikel über Java und JavaScript. Seine Schwerpunkte liegen in der Konzeption und Entwicklung von Node.js- und JEE-Projekten in den Bereichen Industrie 4.0 und Internet of Things.
Materialien zum Buch ... 21
Geleitwort ... 23
Vorwort ... 25
1. Die Grundlagen verstehen ... 29
1.1 ... Begrifflichkeiten ... 29
1.2 ... Aufbau von Webapplikationen ... 33
1.3 ... Fullstack-Entwicklung ... 37
1.4 ... Tools für Fullstack-Entwickler ... 45
1.5 ... Zusammenfassung und Ausblick ... 52
2. Webseiten strukturieren mit HTML ... 55
2.1 ... Einführung ... 55
2.2 ... Die wichtigsten Elemente verwenden ... 60
2.3 ... Zusammenfassung und Ausblick ... 83
3. Webseiten gestalten mit CSS ... 85
3.1 ... Einführung ... 86
3.2 ... Farben und Textformatierungen anwenden ... 98
3.3 ... Listen und Tabellen ... 111
3.4 ... Die verschiedenen Layoutsysteme verstehen ... 122
3.5 ... Zusammenfassung und Ausblick ... 140
4. Webseiten interaktiv machen mit JavaScript ... 145
4.1 ... Einführung ... 146
4.2 ... Variablen, Konstanten, Datentypen und Operatoren ... 153
4.3 ... Kontrollstrukturen verwenden ... 157
4.4 ... Funktionen und Fehlerbehandlung ... 161
4.5 ... Objekte und Arrays ... 165
4.6 ... Zusammenfassung und Ausblick ... 168
5. Webprotokolle verwenden ... 171
5.1 ... Hypertext Transfer Protocol ... 171
5.2 ... Bidirektionale Kommunikation ... 189
5.3 ... Zusammenfassung und Ausblick ... 193
6. Webformate verwenden ... 195
6.1 ... Datenformate ... 196
6.2 ... Bildformate ... 207
6.3 ... Video- und Audioformate ... 215
6.4 ... Zusammenfassung und Ausblick ... 219
7. Web-APIs verwenden ... 221
7.1 ... Webseiten dynamisch ändern mit der DOM API ... 222
7.2 ... Daten asynchron laden mit Ajax und der Fetch API ... 233
7.3 ... Weitere Web-APIs ... 240
7.4 ... Zusammenfassung und Ausblick ... 244
8. Webseiten für Barrierefreiheit optimieren ... 247
8.1 ... Einführung ... 247
8.2 ... Bestandteile einer Webseite barrierefrei machen ... 254
8.3 ... Testen von Barrierefreiheit ... 274
8.4 ... Zusammenfassung und Ausblick ... 278
9. CSS vereinfachen mit CSS-Präprozessoren ... 281
9.1 ... Einführung ... 282
9.2 ... Sass verwenden ... 285
9.3 ... Zusammenfassung und Ausblick ... 307
10. Single-Page-Applikationen implementieren ... 309
10.1 ... Einführung ... 309
10.2 ... Setup ... 312
10.3 ... Komponenten -- die Bausteine einer React-Applikation ... 316
10.4 ... Styling von Komponenten ... 321
10.5 ... Komponentenhierarchien ... 327
10.6 ... Formulare ... 331
10.7 ... Die Kontext-API ... 335
10.8 ... Routing ... 339
10.9 ... Zusammenfassung und Ausblick ... 342
11. Mobile Anwendungen implementieren ... 345
11.1 ... Die unterschiedlichen Arten mobiler Anwendungen ... 345
11.2 ... Responsive Design ... 353
11.3 ... Cross Platform Development mit React Native ... 367
11.4 ... Zusammenfassung und Ausblick ... 379
12. Webarchitekturen verstehen und einsetzen ... 381
12.1 ... Schichtenarchitekturen ... 382
12.2 ... Monolithen und verteilte Architekturen ... 389
12.3 ... MV*-Architekturen ... 398
12.4 ... Zusammenfassung und Ausblick ... 403
13. Programmiersprachen auf der Serverseite verwenden ... 407
13.1 ... Arten von Programmiersprachen ... 408
13.2 ... Programmierparadigmen ... 412
13.3 ... Welche Programmiersprachen gibt es? ... 420
13.4 ... Zusammenfassung und Ausblick ... 432
14. JavaScript auf der Serverseite verwenden ... 435
14.1 ... JavaScript unter Node.js ... 436
14.2 ... Die eingebauten Module verwenden ... 447
14.3 ... Einen Webserver implementieren ... 452
14.4 ... Zusammenfassung und Ausblick ... 462
15. Die Sprache PHP verwenden ... 465
15.1 ... Einführung in die Sprache PHP ... 465
15.2 ... PHP und Webserver lokal installieren ... 466
15.3 ... Variablen, Datentypen und Operatoren ... 467
15.4 ... Kontrollstrukturen verwenden ... 476
15.5 ... Funktionen und Fehlerbehandlung ... 480
15.6 ... Klassen und Objekte verwenden ... 486
15.7 ... Dynamische Webseiten mit PHP entwickeln ... 491
15.8 ... Zusammenfassung und Ausblick ... 503
16. Webservices implementieren ... 505
16.1 ... Einführung ... 505
16.2 ... SOAP ... 507
16.3 ... REST ... 513
16.4 ... GraphQL ... 533
16.5 ... Zusammenfassung und Ausblick ... 537
17. Daten in Datenbanken speichern ... 541
17.1 ... Relationale Datenbanken ... 542
17.2 ... Nicht relationale Datenbanken ... 565
17.3 ... Zusammenfassung und Ausblick ... 572
18. Webanwendungen testen ... 575
18.1 ... Automatisierte Tests ... 576
18.2 ... Testabdeckung ... 586
18.3 ... Test-Doubles ... 589
18.4 ... Zusammenfassung und Ausblick ... 594
19. Webanwendungen deployen und hosten ... 597
19.1 ... Einführung ... 597
19.2 ... Container Management ... 608
19.3 ... Zusammenfassung und Ausblick ... 620
20. Webanwendungen absichern ... 623
20.1 ... Sicherheitslücken ... 624
20.2 ... Verschlüsselung und Kryptografie ... 633
20.3 ... SOP, CSP und CORS ... 637
20.4 ... Authentifizierung ... 647
20.5 ... Zusammenfassung und Ausblick ... 651
21. Die Performance von Webanwendungen optimieren ... 655
21.1 ... Einführung ... 656
21.2 ... Möglichkeiten der Optimierung ... 665
21.3 ... Zusammenfassung und Ausblick ... 684
22. Webprojekte organisieren und verwalten ... 687
22.1 ... Arten von Versionsverwaltungssystemen ... 688
22.2 ... Das Versionsverwaltungssystem Git ... 691
22.3 ... Zusammenfassung und Ausblick ... 705
23. Webprojekte managen ... 709
23.1 ... Klassisches Projektmanagement vs. agiles Projektmanagement ... 710
23.2 ... Agiles Projektmanagement mit Scrum ... 712
23.3 ... Zusammenfassung und Ausblick ... 724
Anhang ... 727
A ... HTTP ... 729
B ... HTML-Elemente ... 753
C ... Tools und Befehlsreferenzen ... 767
D ... Schlusswort ... 781
Index ... 783
Geleitwort ... 23
Vorwort ... 25
1. Die Grundlagen verstehen ... 29
1.1 ... Begrifflichkeiten ... 29
1.2 ... Aufbau von Webapplikationen ... 33
1.3 ... Fullstack-Entwicklung ... 37
1.4 ... Tools für Fullstack-Entwickler ... 45
1.5 ... Zusammenfassung und Ausblick ... 52
2. Webseiten strukturieren mit HTML ... 55
2.1 ... Einführung ... 55
2.2 ... Die wichtigsten Elemente verwenden ... 60
2.3 ... Zusammenfassung und Ausblick ... 83
3. Webseiten gestalten mit CSS ... 85
3.1 ... Einführung ... 86
3.2 ... Farben und Textformatierungen anwenden ... 98
3.3 ... Listen und Tabellen ... 111
3.4 ... Die verschiedenen Layoutsysteme verstehen ... 122
3.5 ... Zusammenfassung und Ausblick ... 140
4. Webseiten interaktiv machen mit JavaScript ... 145
4.1 ... Einführung ... 146
4.2 ... Variablen, Konstanten, Datentypen und Operatoren ... 153
4.3 ... Kontrollstrukturen verwenden ... 157
4.4 ... Funktionen und Fehlerbehandlung ... 161
4.5 ... Objekte und Arrays ... 165
4.6 ... Zusammenfassung und Ausblick ... 168
5. Webprotokolle verwenden ... 171
5.1 ... Hypertext Transfer Protocol ... 171
5.2 ... Bidirektionale Kommunikation ... 189
5.3 ... Zusammenfassung und Ausblick ... 193
6. Webformate verwenden ... 195
6.1 ... Datenformate ... 196
6.2 ... Bildformate ... 207
6.3 ... Video- und Audioformate ... 215
6.4 ... Zusammenfassung und Ausblick ... 219
7. Web-APIs verwenden ... 221
7.1 ... Webseiten dynamisch ändern mit der DOM API ... 222
7.2 ... Daten asynchron laden mit Ajax und der Fetch API ... 233
7.3 ... Weitere Web-APIs ... 240
7.4 ... Zusammenfassung und Ausblick ... 244
8. Webseiten für Barrierefreiheit optimieren ... 247
8.1 ... Einführung ... 247
8.2 ... Bestandteile einer Webseite barrierefrei machen ... 254
8.3 ... Testen von Barrierefreiheit ... 274
8.4 ... Zusammenfassung und Ausblick ... 278
9. CSS vereinfachen mit CSS-Präprozessoren ... 281
9.1 ... Einführung ... 282
9.2 ... Sass verwenden ... 285
9.3 ... Zusammenfassung und Ausblick ... 307
10. Single-Page-Applikationen implementieren ... 309
10.1 ... Einführung ... 309
10.2 ... Setup ... 312
10.3 ... Komponenten -- die Bausteine einer React-Applikation ... 316
10.4 ... Styling von Komponenten ... 321
10.5 ... Komponentenhierarchien ... 327
10.6 ... Formulare ... 331
10.7 ... Die Kontext-API ... 335
10.8 ... Routing ... 339
10.9 ... Zusammenfassung und Ausblick ... 342
11. Mobile Anwendungen implementieren ... 345
11.1 ... Die unterschiedlichen Arten mobiler Anwendungen ... 345
11.2 ... Responsive Design ... 353
11.3 ... Cross Platform Development mit React Native ... 367
11.4 ... Zusammenfassung und Ausblick ... 379
12. Webarchitekturen verstehen und einsetzen ... 381
12.1 ... Schichtenarchitekturen ... 382
12.2 ... Monolithen und verteilte Architekturen ... 389
12.3 ... MV*-Architekturen ... 398
12.4 ... Zusammenfassung und Ausblick ... 403
13. Programmiersprachen auf der Serverseite verwenden ... 407
13.1 ... Arten von Programmiersprachen ... 408
13.2 ... Programmierparadigmen ... 412
13.3 ... Welche Programmiersprachen gibt es? ... 420
13.4 ... Zusammenfassung und Ausblick ... 432
14. JavaScript auf der Serverseite verwenden ... 435
14.1 ... JavaScript unter Node.js ... 436
14.2 ... Die eingebauten Module verwenden ... 447
14.3 ... Einen Webserver implementieren ... 452
14.4 ... Zusammenfassung und Ausblick ... 462
15. Die Sprache PHP verwenden ... 465
15.1 ... Einführung in die Sprache PHP ... 465
15.2 ... PHP und Webserver lokal installieren ... 466
15.3 ... Variablen, Datentypen und Operatoren ... 467
15.4 ... Kontrollstrukturen verwenden ... 476
15.5 ... Funktionen und Fehlerbehandlung ... 480
15.6 ... Klassen und Objekte verwenden ... 486
15.7 ... Dynamische Webseiten mit PHP entwickeln ... 491
15.8 ... Zusammenfassung und Ausblick ... 503
16. Webservices implementieren ... 505
16.1 ... Einführung ... 505
16.2 ... SOAP ... 507
16.3 ... REST ... 513
16.4 ... GraphQL ... 533
16.5 ... Zusammenfassung und Ausblick ... 537
17. Daten in Datenbanken speichern ... 541
17.1 ... Relationale Datenbanken ... 542
17.2 ... Nicht relationale Datenbanken ... 565
17.3 ... Zusammenfassung und Ausblick ... 572
18. Webanwendungen testen ... 575
18.1 ... Automatisierte Tests ... 576
18.2 ... Testabdeckung ... 586
18.3 ... Test-Doubles ... 589
18.4 ... Zusammenfassung und Ausblick ... 594
19. Webanwendungen deployen und hosten ... 597
19.1 ... Einführung ... 597
19.2 ... Container Management ... 608
19.3 ... Zusammenfassung und Ausblick ... 620
20. Webanwendungen absichern ... 623
20.1 ... Sicherheitslücken ... 624
20.2 ... Verschlüsselung und Kryptografie ... 633
20.3 ... SOP, CSP und CORS ... 637
20.4 ... Authentifizierung ... 647
20.5 ... Zusammenfassung und Ausblick ... 651
21. Die Performance von Webanwendungen optimieren ... 655
21.1 ... Einführung ... 656
21.2 ... Möglichkeiten der Optimierung ... 665
21.3 ... Zusammenfassung und Ausblick ... 684
22. Webprojekte organisieren und verwalten ... 687
22.1 ... Arten von Versionsverwaltungssystemen ... 688
22.2 ... Das Versionsverwaltungssystem Git ... 691
22.3 ... Zusammenfassung und Ausblick ... 705
23. Webprojekte managen ... 709
23.1 ... Klassisches Projektmanagement vs. agiles Projektmanagement ... 710
23.2 ... Agiles Projektmanagement mit Scrum ... 712
23.3 ... Zusammenfassung und Ausblick ... 724
Anhang ... 727
A ... HTTP ... 729
B ... HTML-Elemente ... 753
C ... Tools und Befehlsreferenzen ... 767
D ... Schlusswort ... 781
Index ... 783
Materialien zum Buch ... 21
Geleitwort ... 23
Vorwort ... 25
1. Die Grundlagen verstehen ... 29
1.1 ... Begrifflichkeiten ... 29
1.2 ... Aufbau von Webapplikationen ... 33
1.3 ... Fullstack-Entwicklung ... 37
1.4 ... Tools für Fullstack-Entwickler ... 45
1.5 ... Zusammenfassung und Ausblick ... 52
2. Webseiten strukturieren mit HTML ... 55
2.1 ... Einführung ... 55
2.2 ... Die wichtigsten Elemente verwenden ... 60
2.3 ... Zusammenfassung und Ausblick ... 83
3. Webseiten gestalten mit CSS ... 85
3.1 ... Einführung ... 86
3.2 ... Farben und Textformatierungen anwenden ... 98
3.3 ... Listen und Tabellen ... 111
3.4 ... Die verschiedenen Layoutsysteme verstehen ... 122
3.5 ... Zusammenfassung und Ausblick ... 140
4. Webseiten interaktiv machen mit JavaScript ... 145
4.1 ... Einführung ... 146
4.2 ... Variablen, Konstanten, Datentypen und Operatoren ... 153
4.3 ... Kontrollstrukturen verwenden ... 157
4.4 ... Funktionen und Fehlerbehandlung ... 161
4.5 ... Objekte und Arrays ... 165
4.6 ... Zusammenfassung und Ausblick ... 168
5. Webprotokolle verwenden ... 171
5.1 ... Hypertext Transfer Protocol ... 171
5.2 ... Bidirektionale Kommunikation ... 189
5.3 ... Zusammenfassung und Ausblick ... 193
6. Webformate verwenden ... 195
6.1 ... Datenformate ... 196
6.2 ... Bildformate ... 207
6.3 ... Video- und Audioformate ... 215
6.4 ... Zusammenfassung und Ausblick ... 219
7. Web-APIs verwenden ... 221
7.1 ... Webseiten dynamisch ändern mit der DOM API ... 222
7.2 ... Daten asynchron laden mit Ajax und der Fetch API ... 233
7.3 ... Weitere Web-APIs ... 240
7.4 ... Zusammenfassung und Ausblick ... 244
8. Webseiten für Barrierefreiheit optimieren ... 247
8.1 ... Einführung ... 247
8.2 ... Bestandteile einer Webseite barrierefrei machen ... 254
8.3 ... Testen von Barrierefreiheit ... 274
8.4 ... Zusammenfassung und Ausblick ... 278
9. CSS vereinfachen mit CSS-Präprozessoren ... 281
9.1 ... Einführung ... 282
9.2 ... Sass verwenden ... 285
9.3 ... Zusammenfassung und Ausblick ... 307
10. Single-Page-Applikationen implementieren ... 309
10.1 ... Einführung ... 309
10.2 ... Setup ... 312
10.3 ... Komponenten -- die Bausteine einer React-Applikation ... 316
10.4 ... Styling von Komponenten ... 321
10.5 ... Komponentenhierarchien ... 327
10.6 ... Formulare ... 331
10.7 ... Die Kontext-API ... 335
10.8 ... Routing ... 339
10.9 ... Zusammenfassung und Ausblick ... 342
11. Mobile Anwendungen implementieren ... 345
11.1 ... Die unterschiedlichen Arten mobiler Anwendungen ... 345
11.2 ... Responsive Design ... 353
11.3 ... Cross Platform Development mit React Native ... 367
11.4 ... Zusammenfassung und Ausblick ... 379
12. Webarchitekturen verstehen und einsetzen ... 381
12.1 ... Schichtenarchitekturen ... 382
12.2 ... Monolithen und verteilte Architekturen ... 389
12.3 ... MV*-Architekturen ... 398
12.4 ... Zusammenfassung und Ausblick ... 403
13. Programmiersprachen auf der Serverseite verwenden ... 407
13.1 ... Arten von Programmiersprachen ... 408
13.2 ... Programmierparadigmen ... 412
13.3 ... Welche Programmiersprachen gibt es? ... 420
13.4 ... Zusammenfassung und Ausblick ... 432
14. JavaScript auf der Serverseite verwenden ... 435
14.1 ... JavaScript unter Node.js ... 436
14.2 ... Die eingebauten Module verwenden ... 447
14.3 ... Einen Webserver implementieren ... 452
14.4 ... Zusammenfassung und Ausblick ... 462
15. Die Sprache PHP verwenden ... 465
15.1 ... Einführung in die Sprache PHP ... 465
15.2 ... PHP und Webserver lokal installieren ... 466
15.3 ... Variablen, Datentypen und Operatoren ... 467
15.4 ... Kontrollstrukturen verwenden ... 476
15.5 ... Funktionen und Fehlerbehandlung ... 480
15.6 ... Klassen und Objekte verwenden ... 486
15.7 ... Dynamische Webseiten mit PHP entwickeln ... 491
15.8 ... Zusammenfassung und Ausblick ... 503
16. Webservices implementieren ... 505
16.1 ... Einführung ... 505
16.2 ... SOAP ... 507
16.3 ... REST ... 513
16.4 ... GraphQL ... 533
16.5 ... Zusammenfassung und Ausblick ... 537
17. Daten in Datenbanken speichern ... 541
17.1 ... Relationale Datenbanken ... 542
17.2 ... Nicht relationale Datenbanken ... 565
17.3 ... Zusammenfassung und Ausblick ... 572
18. Webanwendungen testen ... 575
18.1 ... Automatisierte Tests ... 576
18.2 ... Testabdeckung ... 586
18.3 ... Test-Doubles ... 589
18.4 ... Zusammenfassung und Ausblick ... 594
19. Webanwendungen deployen und hosten ... 597
19.1 ... Einführung ... 597
19.2 ... Container Management ... 608
19.3 ... Zusammenfassung und Ausblick ... 620
20. Webanwendungen absichern ... 623
20.1 ... Sicherheitslücken ... 624
20.2 ... Verschlüsselung und Kryptografie ... 633
20.3 ... SOP, CSP und CORS ... 637
20.4 ... Authentifizierung ... 647
20.5 ... Zusammenfassung und Ausblick ... 651
21. Die Performance von Webanwendungen optimieren ... 655
21.1 ... Einführung ... 656
21.2 ... Möglichkeiten der Optimierung ... 665
21.3 ... Zusammenfassung und Ausblick ... 684
22. Webprojekte organisieren und verwalten ... 687
22.1 ... Arten von Versionsverwaltungssystemen ... 688
22.2 ... Das Versionsverwaltungssystem Git ... 691
22.3 ... Zusammenfassung und Ausblick ... 705
23. Webprojekte managen ... 709
23.1 ... Klassisches Projektmanagement vs. agiles Projektmanagement ... 710
23.2 ... Agiles Projektmanagement mit Scrum ... 712
23.3 ... Zusammenfassung und Ausblick ... 724
Anhang ... 727
A ... HTTP ... 729
B ... HTML-Elemente ... 753
C ... Tools und Befehlsreferenzen ... 767
D ... Schlusswort ... 781
Index ... 783
Geleitwort ... 23
Vorwort ... 25
1. Die Grundlagen verstehen ... 29
1.1 ... Begrifflichkeiten ... 29
1.2 ... Aufbau von Webapplikationen ... 33
1.3 ... Fullstack-Entwicklung ... 37
1.4 ... Tools für Fullstack-Entwickler ... 45
1.5 ... Zusammenfassung und Ausblick ... 52
2. Webseiten strukturieren mit HTML ... 55
2.1 ... Einführung ... 55
2.2 ... Die wichtigsten Elemente verwenden ... 60
2.3 ... Zusammenfassung und Ausblick ... 83
3. Webseiten gestalten mit CSS ... 85
3.1 ... Einführung ... 86
3.2 ... Farben und Textformatierungen anwenden ... 98
3.3 ... Listen und Tabellen ... 111
3.4 ... Die verschiedenen Layoutsysteme verstehen ... 122
3.5 ... Zusammenfassung und Ausblick ... 140
4. Webseiten interaktiv machen mit JavaScript ... 145
4.1 ... Einführung ... 146
4.2 ... Variablen, Konstanten, Datentypen und Operatoren ... 153
4.3 ... Kontrollstrukturen verwenden ... 157
4.4 ... Funktionen und Fehlerbehandlung ... 161
4.5 ... Objekte und Arrays ... 165
4.6 ... Zusammenfassung und Ausblick ... 168
5. Webprotokolle verwenden ... 171
5.1 ... Hypertext Transfer Protocol ... 171
5.2 ... Bidirektionale Kommunikation ... 189
5.3 ... Zusammenfassung und Ausblick ... 193
6. Webformate verwenden ... 195
6.1 ... Datenformate ... 196
6.2 ... Bildformate ... 207
6.3 ... Video- und Audioformate ... 215
6.4 ... Zusammenfassung und Ausblick ... 219
7. Web-APIs verwenden ... 221
7.1 ... Webseiten dynamisch ändern mit der DOM API ... 222
7.2 ... Daten asynchron laden mit Ajax und der Fetch API ... 233
7.3 ... Weitere Web-APIs ... 240
7.4 ... Zusammenfassung und Ausblick ... 244
8. Webseiten für Barrierefreiheit optimieren ... 247
8.1 ... Einführung ... 247
8.2 ... Bestandteile einer Webseite barrierefrei machen ... 254
8.3 ... Testen von Barrierefreiheit ... 274
8.4 ... Zusammenfassung und Ausblick ... 278
9. CSS vereinfachen mit CSS-Präprozessoren ... 281
9.1 ... Einführung ... 282
9.2 ... Sass verwenden ... 285
9.3 ... Zusammenfassung und Ausblick ... 307
10. Single-Page-Applikationen implementieren ... 309
10.1 ... Einführung ... 309
10.2 ... Setup ... 312
10.3 ... Komponenten -- die Bausteine einer React-Applikation ... 316
10.4 ... Styling von Komponenten ... 321
10.5 ... Komponentenhierarchien ... 327
10.6 ... Formulare ... 331
10.7 ... Die Kontext-API ... 335
10.8 ... Routing ... 339
10.9 ... Zusammenfassung und Ausblick ... 342
11. Mobile Anwendungen implementieren ... 345
11.1 ... Die unterschiedlichen Arten mobiler Anwendungen ... 345
11.2 ... Responsive Design ... 353
11.3 ... Cross Platform Development mit React Native ... 367
11.4 ... Zusammenfassung und Ausblick ... 379
12. Webarchitekturen verstehen und einsetzen ... 381
12.1 ... Schichtenarchitekturen ... 382
12.2 ... Monolithen und verteilte Architekturen ... 389
12.3 ... MV*-Architekturen ... 398
12.4 ... Zusammenfassung und Ausblick ... 403
13. Programmiersprachen auf der Serverseite verwenden ... 407
13.1 ... Arten von Programmiersprachen ... 408
13.2 ... Programmierparadigmen ... 412
13.3 ... Welche Programmiersprachen gibt es? ... 420
13.4 ... Zusammenfassung und Ausblick ... 432
14. JavaScript auf der Serverseite verwenden ... 435
14.1 ... JavaScript unter Node.js ... 436
14.2 ... Die eingebauten Module verwenden ... 447
14.3 ... Einen Webserver implementieren ... 452
14.4 ... Zusammenfassung und Ausblick ... 462
15. Die Sprache PHP verwenden ... 465
15.1 ... Einführung in die Sprache PHP ... 465
15.2 ... PHP und Webserver lokal installieren ... 466
15.3 ... Variablen, Datentypen und Operatoren ... 467
15.4 ... Kontrollstrukturen verwenden ... 476
15.5 ... Funktionen und Fehlerbehandlung ... 480
15.6 ... Klassen und Objekte verwenden ... 486
15.7 ... Dynamische Webseiten mit PHP entwickeln ... 491
15.8 ... Zusammenfassung und Ausblick ... 503
16. Webservices implementieren ... 505
16.1 ... Einführung ... 505
16.2 ... SOAP ... 507
16.3 ... REST ... 513
16.4 ... GraphQL ... 533
16.5 ... Zusammenfassung und Ausblick ... 537
17. Daten in Datenbanken speichern ... 541
17.1 ... Relationale Datenbanken ... 542
17.2 ... Nicht relationale Datenbanken ... 565
17.3 ... Zusammenfassung und Ausblick ... 572
18. Webanwendungen testen ... 575
18.1 ... Automatisierte Tests ... 576
18.2 ... Testabdeckung ... 586
18.3 ... Test-Doubles ... 589
18.4 ... Zusammenfassung und Ausblick ... 594
19. Webanwendungen deployen und hosten ... 597
19.1 ... Einführung ... 597
19.2 ... Container Management ... 608
19.3 ... Zusammenfassung und Ausblick ... 620
20. Webanwendungen absichern ... 623
20.1 ... Sicherheitslücken ... 624
20.2 ... Verschlüsselung und Kryptografie ... 633
20.3 ... SOP, CSP und CORS ... 637
20.4 ... Authentifizierung ... 647
20.5 ... Zusammenfassung und Ausblick ... 651
21. Die Performance von Webanwendungen optimieren ... 655
21.1 ... Einführung ... 656
21.2 ... Möglichkeiten der Optimierung ... 665
21.3 ... Zusammenfassung und Ausblick ... 684
22. Webprojekte organisieren und verwalten ... 687
22.1 ... Arten von Versionsverwaltungssystemen ... 688
22.2 ... Das Versionsverwaltungssystem Git ... 691
22.3 ... Zusammenfassung und Ausblick ... 705
23. Webprojekte managen ... 709
23.1 ... Klassisches Projektmanagement vs. agiles Projektmanagement ... 710
23.2 ... Agiles Projektmanagement mit Scrum ... 712
23.3 ... Zusammenfassung und Ausblick ... 724
Anhang ... 727
A ... HTTP ... 729
B ... HTML-Elemente ... 753
C ... Tools und Befehlsreferenzen ... 767
D ... Schlusswort ... 781
Index ... 783