ANGULAR REACTIVE FORMS
Tutto ciò che devi sapere sui Reactive Forms, uno strumento fantastico per la creazione di form complessi, dinamici e reattivi

INTRODUZIONE
I form rappresentano buona parte delle funzionalità incluse in applicazioni web enterprise e corporate (B2B, banche, fintech, scuole, PA, assicurazioni ma anche in CRM, CMS…) e sono, spesso, la parte più complessa, lunga e noiosa da gestire.
Ma dopo l’uscita di AngularJS, e poi Angular (2+), le cose sono cambiate 😎.
Angular è il framework front-end che integra il maggior numero di funzionalità per la gestione di form, dividendoli in due tipologie: template-driven form , totalmente basati sui template HTML, e i Reactive Forms, basati sul concetto di Observable tramite l’utilizzo della libreria RxJS.
In questo corso intensivo ci focalizzeremo quasi totalmente sui Reactive Forms, in quanto offrono una flessibilità decisamente superiore rispetto ai template-driven forms, ed esploreremo diverse tecniche per sfruttarli al meglio con esempi pratici e casi d’uso reali: dalle fondamenta fino ai casi più complessi.
Ma dopo l’uscita di AngularJS, e poi Angular (2+), le cose sono cambiate 😎.
Angular è il framework front-end che integra il maggior numero di funzionalità per la gestione di form, dividendoli in due tipologie: template-driven form , totalmente basati sui template HTML, e i Reactive Forms, basati sul concetto di Observable tramite l’utilizzo della libreria RxJS.
In questo corso intensivo ci focalizzeremo quasi totalmente sui Reactive Forms, in quanto offrono una flessibilità decisamente superiore rispetto ai template-driven forms, ed esploreremo diverse tecniche per sfruttarli al meglio con esempi pratici e casi d’uso reali: dalle fondamenta fino ai casi più complessi.
OBIETTIVO DEL CORSO
Questo corso intensivo si rivolge a tutti gli sviluppatori che già utilizzano Angular o che desiderano esplorare le potenzialità offerte dal framework per quanto concerne la gestione di form. Al termine del corso sarai in grado di utilizzare la maggior parte delle tecniche disponibili in Angular per la creazione e gestione di form di media-alta complessità.
REQUISITI
Per trarre il massimo beneficio da questo corso è necessario, o quanto meno fortemente consigliato, conoscere i concetti fondamentali alla base di Angular o aver partecipato al corso Angular Core Concepts: utilizzo di direttive ngIf, ngFor, ngSwitch; avere basi sul concetto di "service" e dependency injection; comunicazione con il server tramite HttpClient e realizzazione di componenti custom.
Durata: 8 ore
Livello: Avanzato
Versione Angular: 14.x
Versione Typescript: 4.x
Tipologia: in aula o da remoto
TRASCRIZIONE DEL VIDEO
PROGRAMMA
Introduzione ai Reactive Forms & RXJS
Relazione tra Forms & RXJS
Introduzione sui Reactive Forms
Template driven-forms vs Reactive forms: comparativa tra le tue tipologie di form anche tramite l’ausilio di unit test
Forms e Reactive Programming
AbstractControl e FormControl
Creare reactive form con FormBuilder
Manipolare Forms Group e FormControl con RxJS
Gli operatori RxJS più utili: scenari e casi d’uso reali
Custom FormControl validators: differenti tecniche per la creazione di custom validator per i singoli campi (controls)
Custom FormControl validators con gestione parametri
Mastering Reactive Form
Custom FormGroup validators: creazione di validatori di gruppo in cui la validazione di un campo è legata al contenuto di un altro campo
Custom async form validators: validatori asincroni tramite l’utilizzo di REST API e gestione dello stato di pending
Impostare e cambiare validatori a runtime
FormGroup nidificati: creare e validare gruppi di controlli
Validazioni parziali di un form: validare diversi FormGroup all’interno di un unico form
Creazione form multi step
Organizzare un form in differenti componenti indipendenti utilizzando differenti tecniche
FormArray: validare array di form, rimuovere e aggiungere elementi
Creare form a runtime tramite l’utilizzo di API low-level del framework
Creare componenti custom FormControl con ControlValueAccessor: creare custom form control e integrazione con il sistema di validazione del framework. Alcuni esempi tipici sono Color Picker, Calendar e simili
Generazione di form dinamici a partire da un formato JSON
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 moltisissi esempi e snippet di codice riutilizzabili in applicazioni reali
ESEMPIO LEZIONE
In questo video:
Utilizzo avanzato di Angular Reactive Forms
Creazione custom form "Rate" control
Implementazione di ControlValueAccessor
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

COSA INCLUDE IL CORSO
Corso di formazione on-site
8 ore
Slides ed Esempi
Accesso Area Studenti
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?