Redux Fundamentals

NUOVO SITO WEB

Articoli, tutorial, informazioni aggiornate su corsi ed eventi sono disponibili sul nuovo sito web:

training.fabiobiondi.io

Questo contenuto è quindi obsoleto!!

PREREQUISITI

Il partecipante deve conoscere le basi della programmazione Javascript e le architetture MVC / MVVM / MVP utilizzando jQuery o altri framework e dovrebbe conoscere tutti gli argomenti proposti nei corsi su React .
La conoscenza di ES 6 / 7 è fondamentale ma non indispensabile, verrà introdotto nel corso.

DURATA

8 ore

OVERVIEW

Redux è un framework Javascript per la gestione degli stati di un’applicazione, astraendo il processo di manipolazione dei dati e il flusso di render. Questo framework è ispirato a Flux e Elm, le quali si presentano come architetture d’Elite per la gestione del data-flow.

Il motivo per cui la community React ha scelto Redux come miglior implementazione del pattern Flux è la sua semplicità d’uso, grazie alla quale è possibile controllare e ottimizzare qualunque punto dell’applicazione tramite un unico stato applicativo.

OBIETTIVI FORMATIVI

Durante questo corso verrà analizzato lo sviluppo di applicazioni con approccio dichiarativo attraverso Redux e un pattern Flux-like. Verranno mostrati diversi esempi di casi d’uso classici quali asincronia, dati complessi, immutabilità degli stati e diverse librerie, utility e helpers disponibili per questo ecosistema.

CONOSCENZE IN USCITA

Al termine del corso i partecipanti saranno in grado di creare applicazioni utilizzando il framework Redux e le varie librerie correlate.

MATERIALE DIDATTICO

Ad ogni partecipante sarà consegnato il codice sorgente di tutti gli esercizi affrontati durante il corso.

IL PROGRAMMA

L’APPROCCIO IMPERATIVO

  • Sviluppo di applicazioni attraverso l’approccio dichiarativo
  • Stato iniziale dell’app
  • manipolazione del DOM attraverso gli eventi

Introduzione a ES 6 / 7, compilazione e linting

Una brevissima introduzione a EcmaScript 2015, Babel e Webpack:

  • La nuova versione di EcmaScript
  • Compilazione con Babel e Webpack
  • Configurare ESLint per ES 6 / 7 e React

FLUX, UNIDIRECTIONAL DATA FLOW

  • Caratteristiche del pattern FLUX
  • Che cos è Flux
  • Vantaggi dell’unidirezionalità
  • Confronto con MVC
  • L’importanza dell’Immutabilità

REDUX

  • Il framework Redux
  • Principi fondamentali
  • Action
  • Reducer
  • Store
  • Comporre lo stato iniziale e l’avvio dell’app
  • Integrazione con React: Presentation e Container Components

ADVANCED TOPICS

Utilizzo avanzato e tip&tricks:

  • Gestione delle operazioni async
  • I Middlewares
  • Creazione di alcuni tool per ridurre e ottimizzare il codice

TESTING

  • Testare applicazioni Redux
  • Testare le Actions
  • Testare i Reducers

EXAMPLE APP

Un’app completa di esempio:

  • Scegliere un boilerplate
  • Scegliere delle librerie che semplificano lo sviluppo
  • Creazione della logica di business dell’app
  • Creazione dell’interfaccia

REQUISITI SOFTWARE

L’utilizzo del notebook durante la giornata è facoltativo. Di seguito si elenca il software necessario per la fruizione degli esempi svolti durante il corso:

Corso in collaborazione con Jiayi Hu


Elenco completo corsi