ANGULAR MASTERING UI
Approfondimento sul framework: componenti, dependency injection, custom pipes, attribute & structural directives

INTRODUZIONE
Due giornate di formazione in cui si analizzano metodologie, scenari e strumenti inclusi nel framework Angular, spesso poco noti, per padroneggiare la creazione di componenti custom, sfruttare al massimo il motore di dependency injection, creare custom pipes e direttive.
OBIETTIVO DEL CORSO
Approfondire diversi costrutti e API del framework, solitamente poco utilizzati, allo scopo di sfruttarne tutto il potenziale, creando codice riutilizzabile, testabile ed efficiente.
REQUISITI
Conoscere le fondamenta del framework e/o aver partecipato ai corsi Angular Core Concepts e Mastering Angular.
E’ preferibile aver già creato in precedenza progetti Angular per trarre il massimo beneficio dal corso e apprezzarne i contenuti.
Durata: 16 ore
Livello: Avanzato
Versione Angular: 14.x
Versione Typescript: 4.x+
Tipologia: in aula o da remoto
TRASCRIZIONE DEL VIDEO
PROGRAMMA
Custom Components
@Input, @Output e Content (multiple) Projection
Component-based approchat e 1-way data flow architectures
stateless vs stateful components
Ciclo di vita dei componenti
Componenti riutilizzabili
Componenti compositi
Comunicazione tra componenti
Components Techniques
Local CSS e ViewEncapsulation
Gestione errori e messaggi eccezioni personalizzati
"@ViewChildren" vs "@ContentChildren" decorator
Creare istanze di componenti a runtime, invece che dai template
"ViewContainerRef" e "ComponentFactoryResolver"
Utilizzo dell’immutabilità
Ottimizzazione performance e strategie di ChangeDetection
Component providers e approfondimento dependency injection
Dependency Injection, configurazione provider nei componenti
Componenti riutilizzabili per UIKit
Grid e layout components
Typography, List, TabBar, Cards
Collapsable, Side Panel, Divider e molto altro
Accordion e componenti “compositi”
Integrazione 3rd party libraries / types
Mappe: integrazione Google Map API
Chart riutilizzabili: integrazione ChartJS
Creare custom modules per l'organizzazione dei componenti
Mastering Dependency Injection
Creare servizi e routine riutilizzabili
Condividere dati tra componenti e views
@Injectable e providedIn
Gerarchia degli injectors
@Inject and useValue
InjectionToken
useClass vs useFactory vs useExisting
Gestione providers in moduli e componenti
utilizzo di forRoot() per i moduli “shared”
environments & dependency injection: development e production
Custom Pipes
Built-in formatter: "date", "number", "json"
Cicli su oggetti con "ngFor" e "keyvalue" pipe
"ngIf...as" & "async" pipe
Creazione custom pipes
Pure vs Impure Pipes
Pipe di conversione di formato
Creare Pipe per filtrare elenchi di dati tramite "ngFor"
Pipe asincrone e richieste HTTP
Custom pipes per generare immagini
Custom pipes e 3rd party REST API
Attribute Custom Directives
Creare direttive per la manipolazione del DOM
Manipolazione DOM con "@HostBinding" decorator
Gestione eventi con "@HostListener" decorator
Utilizzare l’"@Input" decorator come setter e getter
Structural directives VS attribute directives
Il ciclo di vita di una direttiva
Creare direttive “non visuali”
Gestione layout responsive con le direttive
Integrazione 3rd party API
Animazioni CSS
Creare custom Form validator per i template-driven forms
Structural Custom Directives
Direttive strutturali: utilizzo del simbolo “asterisk” *
Utilizzo delle direttive per gestione sicurezza e ruoli utenti
DOM: ElementRef vs TemplateRef
Usare le direttive per creare istanze a runtime di components
"ViewContainerRef", "ComponentResolveFactory", "createEmbeddedView"
Creare custom *repeater (alternativa a *ngFor)
Sfruttare le direttive per gestire autenticazione e ruolo utenti
Utilizzare RxJS e Observable all’interno di direttive
MODALITÀ LEZIONI
TEORIA

Approfondimento su API, tecniche e funzionalità del framework. Decine di slide, diagrammi e materiale esclusivo incluso nel corso
LIVE CODING

La maggior parte degli argomenti sono esposti tramite sessioni di live coding, affrontando scenari reali e creando codice riutilizzabile
SOURCE CODE

Al termine del corso avrete a disposizione decine di componenti, direttive, pipes, moduli e tecniche da riutilizzare in applicazioni reali
ESEMPIO LEZIONE
In questo video la creazione di un custom pipe:
Formattare dati con i pipe forniti dal framework
Creazione di un custom pipe
Utilizzare il decoratore @Pipe e l'interfaccia PipeTrasform
ISTRUTTORE:
FABIO BIONDI
FABIO BIONDI

TRAINER, SPEAKER, DEVELOPER
Mi chiamo Fabio Biondi, sono Microsoft MVP e Google Developer Expert in Angular e Web Technologies, e ho più di 15 anni di esperienza nella creazione di applicazioni web enterprise.
Sviluppatore, Istruttore e Speaker in numerosi eventi. Ho fondato e gestisco diverse community italiane che si occupano di Javascript, Angular, React e Opportunità per gli sviluppatori (più di 30000 membri).
Attualmente mi occupo di formazione e mentoring su Javascript / Typescript, Angular, React, Redux, NGRX, RxJS, Next e, recentemente, Lit e Web Components.
Mi occupo, inoltre, di creazione contenuti tecnici su YouTube (in italiano e in inglese) e sono partner su Twitch in cui mi trovate spesso in streaming (con ospiti, sessioni di formazione, live coding e studio di nuove tecnologie).
CERTIFICATIONI & AWARDS
Dal 2019: Microsoft MVP Dal 2018: Google Developer Expert in Web Technologies e Angular 2004-2011: Adobe Certified Expert & Instructor (Flex, AIR, Flash).

Sviluppatore, Istruttore e Speaker in numerosi eventi. Ho fondato e gestisco diverse community italiane che si occupano di Javascript, Angular, React e Opportunità per gli sviluppatori (più di 30000 membri).
Attualmente mi occupo di formazione e mentoring su Javascript / Typescript, Angular, React, Redux, NGRX, RxJS, Next e, recentemente, Lit e Web Components.
Mi occupo, inoltre, di creazione contenuti tecnici su YouTube (in italiano e in inglese) e sono partner su Twitch in cui mi trovate spesso in streaming (con ospiti, sessioni di formazione, live coding e studio di nuove tecnologie).
CERTIFICATIONI & AWARDS

RECENSIONI
COSA INCLUDE IL CORSO
Corso di formazione on-site
16 ore
Centinaia di slides
Accesso Area Riservata
Esercitazioni post-corso
Accesso Area Riservata
Codice Sorgente
Incluso
Attestato di partecipazione
PDF formato A4
FAQ
A chi è rivolto?
Non sono sicuro che questo corso sia adatto al mio team. Puoi aiutarmi ad orientarmi?
Posso modificare il programma e creare un corso personalizzato ?
Dove può essere erogato il corso?
Quanto costa?
C'è un quantitativo minimo di giornate da acquistare?
Il corso prevede esercitazioni per gli studenti?
Devo portare il mio laptop?




