CONTENUTI
Modulo 1: Architettura e struttura avanzata
- Architettura modulare e lazy loading
- Angular CLI: workspace multiprogetto e schematics personalizzati
- Best practices nella struttura di un'app enterprise
- Gestione avanzata dei moduli e feature modules
Modulo 2: Componenti avanzati e Data Binding
- Componenti dinamici e ViewContainerRef
- Comunicazione avanzata tra componenti (RxJS Subjects, EventEmitter avanzato)
- Ciclo di vita dei componenti: hook personalizzati e debugging
- Content projection (ng-content) e incapsulamento (ViewEncapsulation)
- Esercitazione: composizione di componenti riutilizzabili
Modulo 3: Direttive personalizzate
- Creazione di Attribute e Structural Directives custom
- Uso avanzato di Renderer2 e ElementRef
- Binding e gestione delle proprietà nelle direttive
- Esercitazione: direttiva strutturale condizionale personalizzata
Modulo 4: Servizi e Dependency Injection avanzata
- Injection token personalizzati e providedIn strategies
- Hierarchical injectors e scope dei servizi
- Iniezione di servizi in altri servizi (cross-service communication)
- Pattern per logging, caching e gestione dello stato
- Esercitazione: creazione di un servizio modulare e testabile
Modulo 5: Routing avanzato
- Routing dinamico e nested routes
- Lazy loading con forRoot e forChild
- Route guards (CanActivate, CanDeactivate, Resolve)
- Preloading strategies e gestione avanzata della navigazione
- Esercitazione: app multi-sezione con protezione e caricamento dinamico
Modulo 6: HTTP, RxJS e Reactive Programming
- Gestione avanzata delle chiamate HTTP con HttpClient
- Creazione e composizione di Observable custom
- Operatori RxJS (switchMap, mergeMap, concatMap, catchError)
- Confronto tra Observable e Promise in scenari reali
- Esercitazione: servizio asincrono con retry, debounce e gestione errori