REACT
CORE CONCEPTS (ES6)
Un corso di formazione sulle funzionalità principali della libreria React, pattern, best practice e sulle interessanti novità introdotte da Javascript ES6

INTRODUZIONE
React, sviluppato da Facebook, è attualmente una delle librerie Javascript più utilizzate per lo sviluppo di Single Page Application.
In questo corso non solo si affronteranno passo-passo i costrutti principali della libreria, che si occupa della sola gestione della user interface, ma si utilizzeranno pattern, librerie 3rd party e tecniche per la creazione di applicazioni multi-view, la comunicazione con REST API, gestione styling, form con validazioni e molto altro.
In questo corso non solo si affronteranno passo-passo i costrutti principali della libreria, che si occupa della sola gestione della user interface, ma si utilizzeranno pattern, librerie 3rd party e tecniche per la creazione di applicazioni multi-view, la comunicazione con REST API, gestione styling, form con validazioni e molto altro.
OBIETTIVO DEL CORSO
Durante questo corso saranno analizzate la maggior parte delle funzionalità offerte dalla libreria React e del suo ecosistema, per la creazione di componenti e Single Page Applications.
REQUISITI
Familiarità con almeno un linguaggio di programmazione.
È preferibile, ma non indispensabile, aver già utilizzato in precedenza HTML, CSS e avere un po' di confidenza nella manipolazione del DOM in Javascript.
È preferibile, ma non indispensabile, aver già utilizzato in precedenza HTML, CSS e avere un po' di confidenza nella manipolazione del DOM in Javascript.
Durata: 16 ore (2gg)
Livello: Pricinpianti
Versione React: 16.8.x
Tipologia: Corso in aula
PROGRAMMA
JAVASCRIPT ES2015 (aka ES6)
Javascript ES2015
Compiler, Transpiler e tool: Babel, Typescript e Webpack
var vs let vs const: function scope vs block scope
Template Literals
Arrow syntax
Destructuring
Object.assign() e Object concise syntax
Rest e Spread operator
Immutabilità
Array methods: find, map, filter, reduce, some, every …
ES6 modules & imports
Promises e operazioni asincrone
Form
Form in React
Controlled vs Uncontrolled Forms
Gestire campi di input: text, select, checkbox
Valori di default
Validazioni e regular expression
Gestione eventi mouse e interazione utente
Styling
Inline styling
classi CSS dinamiche
CSS Modules
Utilizzo di "classnames" per la gestione dinamica delle classi CSS
Animazioni con CSS transitions
Liste e gestione dati
Creare e manipolare liste dinamiche di elementi
Utilizzo dell'immutabilità
Liste con template condizionali
React Components
Approccio Component-Based
Stateless vs Stateful components
Functional vs Class components
Manipolazione HTML tramite Virtual DOM e reconciliation
Gestire i valori di defaults delle proprietà
PropTypes validation
Passaggio proprietà in input
Comunicazione tra componenti
Componenti compositi
JSX e template condizionali
Tutte le fasi del ciclo di vita del componente
Immutabilità e ottimizzazione performance
Introduzione agli hooks dei functional components
Stateful Components
Differenze tra componenti stateful e stateless
Container vs Presentational components
Gestione stato in React
1-way data flow
Creare progetti e componenti “Redux-ready”
Comunicazione con il server
Utilizzo servizi RESTful
Comunicazione REST API con "Axios"
Comunicazione REST API con "fetch"
Promises & utilizzo di async/await
React Router
Integrazione React Router DOM
Sviluppo applicazioni multi-view
Creazione menu di navigazione
Passaggio parametri
Gestione Nested routes
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
16 ore (2gg)
Accesso ad Area educational
Slide & Esercizi
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?