Daniele Irsuti
frontend developer

Real-World Next.js

Questo libro copre tutte le funzionalità di Next.js, un testo scorrevole che spiega cosa è e come usarlo

Cosa è Next.js e perché se ne parla - anche se non come prima?

Negli ultimi anni nel web ci si è dato un gran da fare per rendere tutto veloce e interattivo spostando gran parte delle responsabilità sul client piuttosto che sul server, sul javascript piuttosto che sul granitico HTML. Il nuovo web è fatto in React.

Ci siamo accorti che abbiamo un problema con la SEO, perchè i crawler classici ora non trovano nulla sulle pagine web

Ci siamo accorti che senza JavaScript non c'è nient'altro che un elemento div con un id "root" generando sgomento tra i nostri paranoici visitatori che lo tengono disabilitato

Beh, in sostanza abbiamo scoperto che non è proprio una buona idea fare le single page application se vogliamo indicizzare il nostro sito (o se non vogliamo tagliare fuori i paranoici del js disabilitato).

Ma come rinunciare alla potenza di React? Non si può, cioè si può ma chi te lo fa fare?

Per questo esiste Next.js, uno dei framework React per sviluppare web app server side rendered.

Non lo conosci? Ti suggerisco questo libro di Michele Riva (continua a leggere👇) o la doc ufficiale.

Com'è sto libro che hai letto quindi?

Allora, il libro è suddiviso in 3 macro aree:

Nella prima area c’è una parte introduttiva in cui viene spiegato il problema che risolve Next JS le alternative concorrenti e le varie strategie di rendering: Server-side rendering (SSR), Client side rendering (CSR), Static site Generation (SSG). Infine fa una breve panoramica sulle funzionalità principali: routing, il componente Image (LA killer feature cavallo di battaglia di Next.js) e i componenti pagina “speciali” del framework (_app e _document).

Nella seconda macro area si da un’idea di come strutturare la propria codebase: questa sezione è molto varia perché entrano in gioco diverse tematiche: state management (con Redux), styling, librerie di UI, server custom, testing, deployment.

L’autore nell’affrontare queste tematiche cerca di offrire oltre alle soluzioni standard e da manuale, anche delle valide alternative. Ad esempio sul deployment l’autore espone in maniera molto chiara e sintetica i vantaggi e gli svantaggi nell’usare servizi quali Vercel o Netlify piuttosto che AWS o Azure per citarne alcuni.

Fa anche qualche accenno di SEO, sottolineando l’importanza delle varie strategie di rendering e cita anche qualche libreria utile.

Nella terza macro area invece ci si sporca le mani con un progetto esemplificativo: l’autore dopo una breve introduzione ad autenticazione e una buonissima spiegazione di JWT accompagna per mano il lettore allo sviluppo di un’applicazione Jamstack: un piccolo ecommerce con tanto di integrazione a Stripe come metodo di pagamento.

Pro

  • ottimo per avere un’idea di cos’è Next.js

  • è lineare e piacevole da leggere

  • offre soluzioni standard e alternative

Cons

  • è un libro introduttivo

Lo consiglierei?

È un libro che mi sento di consigliare solo a coloro che per la prima volta sentono nominare Next.js. Attualmente il mondo dei framework che fanno SSR/SSG/ISR è in fermento e con Remix e la recente versione rilasciata di React alcune cose potrebbero cambiare molto velocemente.

I concetti di Next.js sono validi oggi e probabilmente lo saranno per un po’ di tempo quindi se alcune tematiche della parte centrale del libro possono invecchiare decisamente male, l’altra parte rimane abbastanza valida.

Link utili

Daniele Irsuti

Note sull'autore

Daniele irsuti è specializzato in applicazioni React, React Native e vanilla. È un appassionato di grafica, psicologia e scrittura