Gli studenti dovranno frequentare sempre il corso, sia nei giorni di lezione coi docenti che nel resto della settimana per gli esercizi col tutor.
Sono previsti dei test di verifica alla fine di ogni modulo e alla fine del corso.
Modulo 1: Introduzione al corso
- La figura del Front End Dev
- Come scegliere una tecnologia
- Client e Server, frontend e backend
- Come comunica il web con gli utenti: il protocollo
- HTML5: il linguaggio del web
- La semantica di una pagina web
Modulo 2: User Experience e User Interface
- L'interazione uomo/software
- Usabilità di un'applicazione
- User Interface
- I Design Pattern di UI
Modulo 3: Responsive Design e CSS
- La formattazione degli elementi di pagina
- Selettori e Pseudo classi
- Lavorare col Box-Model
- Posizionamento degli elementi dell'interfaccia
- I dispositivi mobili: tablet e smartphone
- Progettazione per i dispositivi mobili
- Risoluzioni e dimensioni dello schermo
- Le media query
- L’approccio Mobile First
- I Breakpoint
Modulo 5: Laboratorio - Javascript OOP e Design Patterns
- OOP in Javascript
- Closure e scope
- Le Callback function
- Concetti di Programmazione ad oggetti
- I Design Pattern più comuni
- Prototipi
- ES6: la nuova versione di Javascript
- Invio di dati: GET e POST
Modulo 7: Laboratorio - Pubblicare una web app
- I tool per lavorare in team
- Automation Task
- Usare Github
- Pubblicare e Manutenere codice su Github
Modulo 8: Laboratorio - Introduzione a ReactJS
- Cosa è React
- Capire l'architettura di React
- La HTTP Request in React
- Single Page Applications e Multi Page Applications
- The Build Workflow
- I componenti
- Le JSX e le Restrictions
- Creare un Functional Component
Modulo 9: Sviluppare con React
- Creare un Componente riutilizzabile Lavorare con le Props
- Le Children Property
- Usare gli Stati
- Props e States
- Gli Eventi
- Aggiungere il Two-Way Binding Lavorare con le Lists
- Come aggiungere Stile ai Componenti Debugging con le React Apps
Modulo 10: Accedere al Server
- Introduzione a Firebase
- Creare un progetto Firebase
- Inviare una POST Request
- Gestire gli Errori
- Ritirare Data dal backend
Modulo 11: Ottimizzazione delle performance
- I Chrome Developer Tools
- Leggere la Network Chain
- Sincronia e asincronia delle chiamate
- Minify dei sorgenti
- Ottimizzazione delle immagini