GIORNI
ORE
MINUTI
SECONDI
GIORNI
ORE
MINUTI
SECONDI

Angular Master Class

Un corso intensivo di due giorni per tutti gli sviluppatori che utilizzano Angular e che desiderano consolidare il proprio know-how su RxJS e sui Reactive Forms, e per tutti i principianti che vogliono conoscere il potenziale del framework (form e paradigma reattivo).

Via Mecenate, 76/33, 20138 Milano MI

Milano, 19/20 novembre 2019

RxJS & Reactive Forms

Inserisci i dati per la fatturazione seguendo le seguenti istruzioni


Persona Fisica:

Se sei una persona fisica compila i campi con i tuoi dati personali (Nome e Cognome, Indirizzo di residenza e Codice Fiscale). Compilare il campo “Codice SDI” il valore: 0000000.


Azienda:

Se sei un’azienda compila i campi del form con i dati di fatturazione aziendali (Nome azienda, Indirizzo azienda, Partiva IVA e Codice SDI).

Orario: 09:00 - 18:00

Iscriviti al corso di 2 giorni su RxJS & Reactive Forms e accedi ai contenuti esclusivi che iTuna e Fabio Biondi ti metteranno a disposizione.

ANGULAR MASTER CLASS

€ 280

Angular è un framework complesso ma gli argomenti saranno affrontati dalle basi, con l'obiettivo di portare i corsisti ad un livello avanzato. Daremo quasi per scontato che i partecipanti conoscano le fondamenta del framework: utilizzo delle direttive base (ngIf, ngFor, ngClass), creazione di semplici componenti, injection di servizi e la comunicazione con il server tramite l’utilizzo del servizio HttpClient. 

From basics to fine art!

Questa prima giornata sarà utilissima a chi vuole comprendere le fondamenta di RxJS e della programmazione reattiva, a chi desidera sfruttarne il potenziale all’interno dei propri progetti oppure agli sviluppatori che successivamente desiderano utilizzare NGRX, uno state manager per Angular ispirato a Redux, che espone uno stato reattivo e che fa ampio uso di RxJS. 



In questa giornata:

  • Si comprenderanno a fondo le fondamenta della libreria: Observable, Observer, Subscription, le differenti tipologie di Subject, notifiche next, error, complete, lettura dei marble diagrams, con esempi pratici e casi d’uso reali in vanilla JS ma soprattutto in applicazioni Angular
  • Esempi pratici per la comprensione e l’utilizzo di moltissimi operatori pipeaple e di creazione forniti da RxJS.
  • Decine di snippet per sfruttare RxJS nel processo di comunicazione con il server tramite il servizio HttpClient: forkJoin, combineLatest, withLatestFrom, switchMap e mergeMap sono solo alcuni degli operatori che andremo ad analizzare e sfruttare per gestire diverse casistiche real-world
  • Corretta gestione degli errori tramite operatori quali catchError e throwError
  • Gestione processo di autenticazione, protezione route tramite guards, HTTP interceptor, protezione DOM tramite creazione di structural directives, utilizzando un approccio idiomatico, sfruttando RxJS e il paradigma reattivo
  • Utilizzo di RxJS e dei pipeable operators con i Reactive Forms
  • Approfondimento su Subject: come funzionano, potenzialità e le differenze tra le quattro tipologie: Subject, BehaviorSubject, AsyncSubject, ReplaySubject
  • Creazione di operatori RxJS custom 

Day 1. RXJS

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 questa giornata 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.


Alcuni degli argomenti trattati:

  • Utilizzo di FormControl, FormGroup, FormBuilder per la creazione di form reattivi
  • Sfruttare gli operatori RxJS e il paradigma funzionale reattivo con i Reactive Forms
  • FormArray: creare elenchi di form dinamicamente, rimuovere e aggiungere form a runtime. Utile, ad esempio, per creare elenchi di form per l’inserimento multiplo di dati e validare riga per riga
  • Custom FormControl e FormGroup validators: creazione di validatori custom per i singoli controlli o di gruppo, in cui, ad esempio, la validazione di un controllo è legata al valore di un altro controllo
  • 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: organizzare il form in sotto gruppi da validare e gestire separatamente
  • Creazione form multi step
  • Suddividere e organizzare il form in differenti componenti indipendenti utilizzando varie tecniche, dalle più semplici alle più complesse (ad es. tramite ControlValueAccessor), con molti trick e best practices
  • ControlValueAccessor (CVA): creare custom form components che implementano CVA affinché si integrino nel sistema di validazione dei form, invalidino il form se necessario, impostando lo stato del form e dei singoli controlli a dirty, touched, gestendo errori custom, validazioni e molto altro. Alcuni esempi che realizzeremo sono un custom Color Picker, un Rating component e avrete modo di apprendere le fondamenta per creare qualunque tipologia di form control custom
  • Creare form a runtime da JSON tramite l’utilizzo di API low-level del framework, la creazione di direttive custom per il caricamento dinamico di componenti e molto altro 



Day 2. AMAZING REACTIVE FORMS

IL PROGRAMMA DEL CORSO

Iscriviti al corso di 2 giorni su RxJS & Reactive Forms e accedi ai contenuti esclusivi che iTuna e Fabio Biondi ti metteranno a disposizione.

ANGULAR MASTER CLASS

€ 280

CERTIFICAZIONE E MATERIALI

Attestato di partecipazione in formato digitale (PDF) e il codice sorgente di tutti gli esempi affrontati durante il corso.

CONTENUTI PRATICI E AZIONABILI

Sessioni di teoria ma soprattutto live-coding con esempi pratici riutilizzabili nel lavoro di tutti i giorni.

E UN VANTAGGIO IN PIÙ...

Il corso è propedeutico all’utilizzo di state manager reattivi come NGRX o Angular Redux.