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 verwenden
- Webseiten erstellen mit HTML, CSS und JavaScript
- Web Architekturen: MVC, MVP, MVVM, SOA, Microservices, Microfrontends
- Programmiersprachen und Web-Frameworks einsetzen
- Webservices implementieren: REST und GraphQL
- Datenbanken beherrschen: SQL und NoSQL
- Authentifizierungsmechanismen verstehen
- Webprojekte organisieren und verwalten
- Projektmanagement und Tools
Inhaltsverzeichnis
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 . . . 30710. 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 . . . 34211. 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 . . . 37912. 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 . . . 40313. 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 . . . 43214. 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 . . . 46215. 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 . . . 50316. 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 . . . 53717. Daten in Datenbanken speichern . . . 541 17. 1 . . . Relationale Datenbanken . . . 542 17. 2 . . . Nicht relationale Datenbanken . . . 565 17. 3 . . . Zusammenfassung und Ausblick . . . 57218. Webanwendungen testen . . . 575 18. 1 . . . Automatisierte Tests . . . 576 18. 2 . . . Testabdeckung . . . 586 18. 3 . . . Test-Doubles . . . 589 18. 4 . . . Zusammenfassung und Ausblick . . . 59419. Webanwendungen deployen und hosten . . . 597 19. 1 . . . Einführung . . . 597 19. 2 . . . Container Management . . . 608 19. 3 . . . Zusammenfassung und Ausblick . . . 62020. 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 . . . 65121. Die Performance von Webanwendungen optimieren . . . 655 21. 1 . . . Einführung . . . 656 21. 2 . . . Möglichkeiten der Optimierung . . . 665 21. 3 . . . Zusammenfassung und Ausblick . . . 68422. Webprojekte organisieren und verwalten . . . 687 22. 1 . . . Arten von Versionsverwaltungssystemen . . . 688 22. 2 . . . Das Versionsverwaltungssystem Git . . . 691 22. 3 . . . Zusammenfassung und Ausblick . . . 70523. 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