Mastering Components

Home/Corsi/Angular/Mastering Components
Mastering Components 2018-12-12T01:17:55+00:00

MASTERING ANGULAR COMPONENTS

Due giornate di formazione in cui si analizzano metodologie, pattern e strumenti offerti da Angular, spesso poco documentati, per la creazione di componenti complessi e l’integrazione dei relativi unit test

0
ore di teoria e pratica
  • Durata: 2 giornata (16 ore)

  • Tipologia: Teoria e Pratica

  • Versione Angular: 7.x

  • Obiettivo: Un ampio approfondimento sulla creazione di componenti custom in Angular, approccio component-based e modulare,  lifecycle, performance, decoratori “speciali” e molto altro: custom pipes, creazione librerie di componenti, integrazione unit test.

  • Requisiti:conoscere le fondamenta del framework o aver partecipato al corso Angular Core Concepts.
    E’ preferibile aver già creato in precedenza componenti Angular utilizzando i concetti di Input e Output (anche semplici).

IL PROGRAMMA

REUSABLE COMPONENTS

Si esplorano differenti tecniche, casi d’uso e approcci per la creazione di decine di componenti e direttive, per ognuno dei quali saranno integrati e descritti i relativi Unit Test:

  • Mappe: integrazione Google Map API e Leaflet
  • Chart riutilizzabili: integrazione HighChart
  • Grid e layout components
  • Accordion e componenti “compositi”
  • Typography, List, TabBar, Card flessibili e riutilizzabili
  • Collapsable, Side Panel, Divider e molto altro

MASTERING @Component

  • Organizzazione applicazioni, componenti e servizi in custom modules
  • 1-way data flow architectures
  • @Input, @Output e Content Projection
  • stateless vs stateful components
  • Ciclo di vita dei componenti
  • Nested component
  • Comunicazione tra componenti
  • Local CSS e ViewEncapsulation
  • Gestione errori e messaggi eccezioni personalizzati
  • @ViewChildren vs @ContentChildren decorator
  • Creare componenti a runtime: ViewContainerRef e ComponentFactoryResolver
  • Ottimizzazione performance e strategie di ChangeDetection
  • Utilizzo dell’immutabilità
  • Integrazione 3rd party libraries / types
  • Component providers e approfondimento dependency injection
  • Dependency Injection, configurazione provider nei componenti e useFactory

GENERAZIONE LIBRERIE NPM

  • Generazione librarie di componenti e servizi riutilizzabili
  • Pubblicazione della libreria su npm
  • Utilizzo e aggiornamento della libreria
  • Analisi del bundle size e composizione della libreria
  • Generazione automatica della documentazione

CUSTOM PIPES

  • Creazione custom pipes
  • Built-in formatter: date, number, json
  • Creare filtri per liste e ngFor
  • Convertire dati da un formato all’altro
  • Pipe asincrone e richieste HTTP
  • ngIf & async pipe
  • Custom pipes per generare immagini
  • Custom pipes e 3rd party REST API

UNIT TEST

  • Unit Test vs E2E
  • Introduzione a Jasmine
  • Introduzione e configurazione Karma
  • Utilizzo di TestBed
  • Testing Components
  • Testing Services
  • Mocking dependencies
  • Spies

Stateless components

Data-driven components

3rd Party Libraries

Change Detection Strategies

Custom Errors

Unit Test con Karma

Code Coverage

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.

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.

FAQ

Devo portare il mio laptop? 2017-07-06T03:43:19+00:00

No, non è necessario  ma potrebbe farti comodo per visionare il materiale durante il corso.

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

RECENSIONI

“Ottima la trama delle 8 ore, mai noiose e soprattutto molto facili da seguire le diverse spiegazioni, ho trovo i temi collegati benissimo e un sacco di riferimenti tra le parti. Impossibile per lo “studente” perdere un concetto che subito veniva ripreso e approfondito.”
– Andrea Tosato

“Contentissimo di aver partecipato al corso Angular di Fabio: argomenti trattati in modo impeccabile, spiegazioni chiare ed esempi semplici ma molto efficaci.
Oltre ad essere un ottimo trainer e un grande sviluppatore, Fabio è una persona alla mano, gentile e disponibile, sempre pronta a chiarire o approfondire i concetti trattati.
Incredibile la passione e l’energia che impiega durante le lezioni, in grado di coinvolgerti dal primo all’ultimo giorno!”
– Luigi Pasca

“Questo corso è stato molto utile e ha ampiamente ripagato il sacrificio fatto.”
– Roberto Lo Magro

“Evento ben organizzato, con il giusto equilibrio tra concetti “base” e “medio-avanzati”. Complimenti!”
– Luca Z.

DOCENTE

Fabio Biondi
Fabio BiondiGoogle Developer Expert (GDE) in Angular
Fabio is both a community leader and a frequent contributor in many Italian front-end usergroups (Angular, React, Javascript). He’s a Google Developer Expert in Web Technologies & Angular with more than ten years of experience in developing enterprise level applications, interactive experiences and UI components in several languages and web technologies.
Currently, he holds meetups, events and training courses all over Italy.

His particular specialism is front-end applications and related aspects, both visuals and architectural. He daily uses cutting-edge libraries and frameworks offering training, development, code review and consulting on Angular, React, Vue.js, Typescript/ES6, Redux, NGRX, RxJS, Firebase, D3.js and several other web technologies.

  • Angular, React, Vue, Redux, RxJS, Typescript

  • Firebase, D3.js, Canvas, TweenMax

Facebook Community founder of:

PRECEDENTE
Mastering Angular

PROSSIMO CORSO
Directives and Forms

PROSSIMI EVENTI?

Consulta la mia pagina Facebook

SEGUIMI

Vuoi organizzare questo corso

PRESSO LA TUA SEDE?

CONTATTAMI