JavaScript Advanced (Moderne Architektur & ES6+)
Dieses Seminar vertieft die Kenntnisse in modernem JavaScript für die Entwicklung komplexer, skalierbarer und performanter Webanwendungen. Schwerpunkte liegen auf fortgeschrittenen Konzepten wie asynchroner Programmierung im Detail, prototypischer Vererbung, Design Patterns, Memory Management sowie dem Einsatz moderner Build-Tools und Test-Frameworks.
Zielgruppe / Voraussetzung
- Zielgruppe: Erfahrene Webentwickler, Frontend-Engineers und Full-Stack-Entwickler.
- Voraussetzung: Solide JavaScript-Grundlagen (ES5/ES6), Verständnis des DOM und asynchroner Basis-Konzepte.
Detaillierte Inhalte
Deep Dive: Sprachkonzepte und Scope
- Die JavaScript Engine (V8) und der Execution Context
- Lexical Scope, Hoisting und die Temporal Dead Zone (TDZ)
- Fortgeschrittene Closures und deren praktische Anwendung (z. B. Currying, Memoization)
- Destructuring, Spread- und Rest-Operatoren für komplexe Datenstrukturen
- Performante Datenstrukturen:
Map,Set,WeakMapundWeakSet
Erweiterte Objektorientierung und Prototypen
- Die Prototypenkette (Prototype Chain) im Detail
- Konstruktor-Funktionen vs. ES6-Klassen (
class,extends,super) - Verständnis und Manipulation des
this-Kontexts (bind,call,apply) - Kapselung: Private Klassen-Felder (Private Fields) und Getter/Setter
- Objekt-Komposition vs. Vererbung (Mixins)
Asynchrone Architektur und Event Loop
- Funktionsweise der Event Loop: Call Stack, Web APIs, Callback Queue
- Microtasks vs. Macrotasks (Promises vs. setTimeout)
- Komplexe Promise-Ketten und Fehlerbehandlung (
Promise.all,Promise.race,Promise.allSettled) - Fortgeschrittene
async/awaitPatterns (parallele vs. sequenzielle Ausführung) - Echtzeit-Kommunikation: WebSockets und Server-Sent Events (SSE)
Architektur und Design Patterns
- Erzeugungsmuster: Factory, Singleton, Builder
- Strukturmuster: Module Pattern (Revealing Module), Facade, Decorator
- Verhaltensmuster: Observer / Pub-Sub (Event Emitter), Strategy, Command
- State Management Grundlagen (Konzepte hinter Redux/Vuex/Zustand)
Modulare Entwicklung und Tooling
- Modulsysteme im Vergleich: CommonJS vs. ES Modules (ESM)
- Funktion und Konfiguration moderner Bundler (Vite, Webpack, Rollup)
- Transpiling mit Babel und Polyfills
- Code Splitting, Lazy Loading und Tree Shaking zur Bundle-Optimierung
Web APIs und Browser-Features
- Speicherkonzepte:
localStorage,sessionStorageundIndexedDB - Web Worker für Multithreading im Browser
- Service Worker und Grundlagen von Progressive Web Apps (PWAs)
- Moderne APIs: Intersection Observer, Mutation Observer, Fetch API Deep Dive (Streaming, AbortController)
- Web Components: Custom Elements, Shadow DOM und HTML Templates
Performance und Memory Management
- Garbage Collection Mechanismen (Mark-and-Sweep)
- Identifikation und Vermeidung von Memory Leaks im Browser
- DOM-Performance: Reflows (Layout) und Repaints minimieren, DocumentFragment
- Event-Optimierung: Debouncing und Throttling
- Analyse mit Chrome DevTools (Performance, Memory Allocation Timelines)
Code-Qualität, Testing und Automatisierung
- Static Code Analysis mit ESLint und Prettier
- Unit-Testing Grundlagen mit Jest oder Vitest
- Test-Driven Development (TDD) Konzepte in JavaScript
- Mocking von Modulen und asynchronen APIs
- End-to-End (E2E) Testing Übersicht (z. B. Cypress, Playwright)
Dauer: 3 Tage
Häufige Fragen (FAQ)
Was unterscheidet den Kurs JavaScript Advanced von einem Einsteigerkurs?
Der Fortgeschrittenenkurs fokussiert auf Softwarearchitektur, Closures, Prototyping-Ketten, funktionale Entwurfsmuster, moderne ES6+-Features, TypeScript-Grundlagen, State Management und automatisierte Unit-Tests mit Jest oder Vitest.
Wann sollte man TypeScript statt reinem JavaScript einsetzen?
TypeScript empfiehlt sich für wachsende Teams und geschäftskritische Codebasen. Durch statische Typisierung, Interfaces und Generics werden Typfehler bereits zur Compilezeit aufgedeckt, was Refactorings massiv absichert.
Werden Build-Tools wie Vite und Webpack behandelt?
Ja, im Kurs lernen Teilnehmer moderne Tooling-Pipelines kennen, inklusive Modulbündelung (ESM), Tree-Shaking, Transpilation und Optimierung von Assets für minimale Ladezeiten in Produktion.
Wer ist der Dozent für JavaScript Advanced?
Frank Glück leitet die Schulung. Er besitzt über 30 Jahre Lehrerfahrung und fast 40 Jahre Programmiererfahrung und zeigt erfahrenen Entwicklern, wie hochskalierbare Frontend- und Fullstack-Architekturen sauber aufgesetzt werden.