Introduzione Next.js
- Ripassiamo React.js
- Vantaggi di utilizzare Next.js
- Setup App Next.js
Routing
- Routing basato sul file system
- Navigazione tra pagine
- Layout e gruppi
- Routing dinamico
Server Components e Client Components
Fetching dei dati
- Data Fetching
- Fetch dati dal DB
- Caching
Gestione flussi di dati e affidabilità
Server Actions e Mutations
- Server Actions
- Storing dei dati
- Server Action Response
Gestione dello stato
- React Context in Next.js
- Server Cookies
Autenticazione e Autorizzazione
- Gestione delle sessioni utente
- Protezione delle rotte sensibili e visibilità
- Introduzione del Middleware
Build e Rendering
- Creare una build
- Problemi del rendering di React
- Differenza e applicazioni pratiche dei diversi tipi di rendering
- Deployment di un’app Next.js
- Scelte di hosting
- Configurazione deployment
- Gestione degli ambienti (development, staging, production)
Ottimizzazioni e Best Practices
- Ottimizzazione delle immagini
- Ottimizzazione dei font
- Bundle splitting e code splitting
- Migliori pratiche di performance
- Come utilizzare i metadata
Testing in Next.js
- Approfondimento sul testing di componenti React
- Testing di pagine e Api in Next.js
- Utilizzo di strumenti e framework per il testing
Argomenti Bonus
Internazionalizzazione (i18n) in Next.js
Implementazioni di funzionalità extra di UI
- TailwindCSS
- UI Libraries
- Animazioni con Framer Motion
- Aggiungere Storybook al progetto
- Visual Testing
Funzionalità avanzate
- Rotte parallele
- Route Handlers
- Server Actions Ottimistici
- Pagina preview di articolo