Next.js is in Nederlandse productteams vaak de default, en even vaak de bron van verwarring: wat draait op de server, wat in de browser, en waarom voelt een “simpele pagina” ineens als een platform. De Next.js-module van NLCodeCraft Frontend Academy legt die grens bloot. Mark van Leeuwen traint u om routing, data-laden en caching te kiezen als vakbeslissing, niet als template die u van een starter-repo kopieert.

Cursist werkt aan een Next.js project met netwerk-tab open in de frontend academy in Amsterdam
Next.js in Amsterdam: de mapstructuur links, de netwerk-waterfall rechts, de grens server/client in het gesprek.

Instroom: afgeronde React cursus of gelijkwaardige praktijk, plus TypeScript op het niveau van onze TypeScript-track of aantoonbaar strict in uw eigen repo. Wij zetten geen App Router neer voor mensen die useEffect nog als data-laag gebruiken.

Server is geen magie, client is geen zonde

U leert wanneer een Server Component de juiste default is, wanneer een Client Component onvermijdelijk is (interactie, browser-API’s), en hoe u die grens in de mapstructuur zichtbaar houdt. Caching en revalidate zijn lesstof, geen vinkje in een dashboard. Een pagina die “snel” is omdat u alles client-side hydratet, zakt de review.

Onderwerp Vraag in de les Anti-patroon
App Router Welke segmenten zijn statisch, welke dynamisch? Alles force-dynamic “voor de zekerheid”
Data fetch, cache, foutgrenzen useEffect-fetch in een serverpagina-mentaliteit
Mutaties formulieren, server actions, feedback Stille POST zonder fout aan de gebruiker
Grenzen waar ‘use client’ begint Eén client-boom van de root tot de footer

Leermodules Next.js

Routing als informatie-architectuur

URLs die een mens begrijpt, loading- en error-grenzen per segment, geen god-layout.

Data op de juiste plek

Server fetch met foutafhandeling. Client alleen voor wat de browser moet doen.

Formulieren die terugpraten

Validatie, pending state, toegankelijke fouten. Een 500 in de console is geen UX.

Productiehygiëne

Env, images, metadata. Wij bouwen geen hostingcursus, wel een checklist zodat u niet naakt naar Vercel of een NL-host gaat.

Wij koppelen de module aan Testing: een server-rendered formulier zonder test is een demo. Een client-eiland zonder toegankelijke naam is dat ook. Next.js is hier een frontend-vak, geen DevOps-feest.

export default async function CoursePage() {
  const track = await getTrack("react");
  if (!track) return <p>Track niet gevonden.</p>;
  return (
    <article>
      <h1>{track.title}</h1>
      <TrackOutline modules={track.modules} />
    </article>
  );
}

De eindopdracht is een kleine meertalige of in ieder geval Nederlandstalige dienst met twee routes, één mutatie en een bewuste cachekeuze die u in README toelicht. Mark van Leeuwen vraagt in de review niet “werkt het?”, maar “wat gebeurt er als de API traag is?”.

Veelgestelde vragen

Pages Router of App Router?

App Router is de lesstandaard. Pages behandelen wij als leesstof voor legacy-teams.

Moet ik Vercel gebruiken?

Nee. De concepten zijn host-agnostisch. Deploy is uw keuze na de module.

Behandelt u authenticatie?

Patronen en valkuilen, geen complete IAM-implementatie. Auth is een eigen projectrisico.

Is dit een full-stack opleiding?

Nee. U raakt de server voor zover de frontend die nodig heeft. Backend-architectuur is een ander vak.

Leslocatie en bereik in Amsterdam

NLCodeCraft geeft klassikale en hybride frontend-opleidingen vanaf de Wibautstraat, op de Knowledge Mile tussen Amstel en Weesperplein. Cursisten komen uit de onderstaande stadsdelen; avondgroepen starten na kantoortijd zodat u vanuit Zuid, Noord of Oud-West kunt aansluiten zonder een extra reisdag in te plannen.

  • Centrum
  • De Pijp
  • Oud-West
  • Oost
  • Watergraafsmeer
  • Amsterdam-Noord
  • Zuid
  • Westerpark

NLCodeCraft Frontend Academy

Uw aanspreekpunt: Mark van Leeuwen

Wibautstraat 131
1091 GL Amsterdam

Telefoon: +31 20 244 3188

E-mail: [email protected]

OpenStreetMap: Wibautstraat 131, 1091 GL Amsterdam

Next.js-module plannen