Data architecture in Angular e NGRX

Home/Corsi/Angular/Data architecture in Angular e NGRX
Data architecture in Angular e NGRX 2018-02-17T16:21:56+00:00

DATA ARCHITECTURES in ANGULAR e NGRX

Un’introduzione alla creazione di architetture solide e scalabili in Angular utilizzando NGRX per la gestione dello stato applicativo

0
ore di teoria ed esempi real-world
  • Durata: 1 giornata (8 ore)

  • Tipologia: Corso Intensivo

  • Versione Angular: 5.x

  • Obiettivo: creare applicazioni Angular scalabili, testabili e semplici da mantenere utilizzando NGRX per la gestione dello stato applicativo, applicando una netta separazione tra architettura dati e presentational layer.

  • Requisiti: per comprendere gli argomenti trattati nel corso è necessario avere una buona conoscenza delle seguenti funzionalità del framework Angular: componenti custom, moduli, dependency injection, router e lazy loading.

IL PROGRAMMA

OVERVIEW

Angular fornisce gli strumenti fondamentali per sviluppare un’intera Single Page Application.  Tuttavia, le attività che il front-end deve svolgere sono sempre più complesse e le interfacce utente (UI), di conseguenza, stanno diventando sempre più sofisticate: gestione di un data-flow molto articolato, componenti che devono rimanere in sync tra di loro, integrazione unit test, time travel debugging sono solo alcune delle problematiche ricorrenti che uno sviluppatore front-end deve affrontare quotidianamente.

Redux, libreria nata per requisiti complessi in contesti quali Facebook, nasce con l’obiettivo di separare nettamente gli aspetti architetturali dalla user interface, semplificando la gestione dello stato applicativo e rendendo il codice molto più manutenibile, testabile e scalabile.

NGRX è una libreria ispirata a Redux creata per gestire lo stato applicativo in applicazioni Angular e ne condivide diversi aspetti: azioni, reducers e un singolo store. I dati sono esposti sotto forma di Observable (quindi fa largo uso di RxJS) tramite selezioni dello stato e fornisce una moltitudine di pattern e utility per gestire inoltre operazioni asincrone, effects/middlewares, lazy loading, entità e molto altro.

INTRODUZIONE a REDUX

  • Principi fondamentali
  • Immutable State
  • Pure vs Inpure functions
  • Reducers
  • Store
  • Actions
  • Containers vs Presentational components
  • Esempi e casi d’uso

DATA ARCHITECTURES
in ANGULAR e NGRX

  • Data architectures in Angular e NGRX
  • Store e stato aplicativo
  • Azioni, sincrone e asincrone
  • Reducer: aggiornare lo stato applicativo
  • Selettori e memoization
  • Async Pipes
  • Action Creator
  • Comunicazione con il server
  • Observable e RxJS
  • Effects
  • NGRx e la gestione di custom modules e lazy loading
  • Integrazione test: introduzione
  • Debugging e Redux Chrome Dev tools
  • Real world applications

INFORMAZIONI SUL CORSO

LEARN

Durante la giornata le sessioni di teoria saranno supportate costantemente da slide, contenenti approfondimenti, snippet e diversi casi d’uso illustrati passo-passo dal docente.

LIVE CODE

Il docente applicherà buona parte degli argomenti precedentemente trattati, scrivendo codice LIVE, con numerosi esempi pratici e coinvolgendo attivamente i partecipanti.

HANDS-ON

Nel pomeriggio gli studenti metteranno in pratica le nozioni acquisite durante la giornata realizzando diversi esercizi con il costante supporto del docente.

UN PERCORSO COMPLETO

Questo modulo fa parte di un percorso didattico molto ampio che si pone due obiettivi: il primo è quello di descrivere in modo approfondito tutte le funzionalità e la sintassi del framework, il secondo, forse più importante, è quello di trasferire ai partecipanti metodologie, approcci e best practice consolidate affinché possano creare applicazioni modulari, scalabili, manutenibili e testabili.

Il percorso completo è composto da 13 giornate, suddiviso in 8 moduli componibili e acquistabili separatamente:

FAQ

Devo portare il mio laptop? 2017-07-06T13:44:22+00:00

Ti consigliamo di portare il tuo laptop tramite il quale potrai consultare le slide e svolgere le esercitazioni qualora fossero previste dal corso.
Nel caso non avessi la possibilità di portarlo potrai comunque affiancare un altro partecipante.

Come posso contattare l’organizzatore? 2017-07-13T23:13:51+00:00

Per tariffe, informazioni sui prossimi corsi o qualunque altra domanda puoi scrivere all’organizzatore utilizzando l’indirizzo email presente nel footer

Devo installare qualche software sul mio laptop? 2017-09-12T21:45:29+00:00

Per svolgere le esercitazioni il tuo laptop dev’essere configurato per l’utilizzo di Git e dovresti installare una versione di Node superiore alla 6.9.

Vuoi organizzare questo corso

PRESSO LA TUA SEDE?

CONTATTAMI

DOCENTE

Fabio Biondi
Fabio BiondiJS Developer and Trainer
I’m an active contributor in the italian front-end communities with 10+ years of experience in developing enterprise level applications and components.

Especially focused in front-end applications and all related aspects, both visuals and architecturals, I daily use cutting-edge libraries and frameworks offering training, development, code review and consulting on Angular, React and several other technologies.

I also collaborate with many training italian companies in order to organize events, training courses and campus.

  • Javascript, Angular, React, Redux, RxJS
  • D3.js, CreateJS, GSAP TweenMax, Firebase

Facebook community admin on:

PROSSIMI EVENTI?

Consulta la mia pagina Facebook

SEGUIMI