Naar inhoud springen

Next.js

Uit Wikipedia, de vrije encyclopedie
Next.js
Logo
Ontwikkelaar(s) Vercel
Uitgebracht 25 oktober 2016 (9 jaar geleden)
Recentste versie 16.0.10 (12 december 2025)[1] Bewerken op Wikidata
Status Actief
Besturings­systeem multiplatform
Geschreven in JavaScript
Licentie(s) MIT-licentie
Versiebeheer Officiële broncode
Website Officiële website
Portaal  Portaalicoon   Informatica

Next.js is een open source framework voor webontwikkeling dat is ontwikkeld door het private bedrijf Vercel.

Het framework is full-stack, wat betekent dat het kan worden ingezet voor de ontwikkeling van een compleet platform, inclusief alle softwarematige subsystemen.

In de React-documentatie wordt Next.js genoemd als een van de "aanbevolen toolchains" en wordt het aan ontwikkelaars aangeraden bij het "bouwen van een server-gerenderde website met Node.js". Terwijl traditionele React-apps hun inhoud alleen in de client-side browser kunnen weergeven, breidt Next.js deze functionaliteit uit naar applicaties die aan de serverkant worden gerenderd.

Het auteursrecht en de handelsmerken voor Next.js zijn eigendom van Vercel, dat ook de opensourceontwikkeling ervan onderhoudt en leidt. Verder ontwikkelt het bedrijf op React gebaseerde webapplicaties, en voorziet deze van server-side rendering en statische rendering.

Websites en applicaties gemaakt met Next.js kunnen gehost worden bij Vercel, dat een serverless architectuur in de cloud aanbiedt.

Next.js is een React-framework dat verschillende extra functies mogelijk maakt, waaronder server-side rendering en statische rendering. React is een JavaScript-bibliotheek die traditioneel wordt gebruikt om webapplicaties te bouwen die in de browser worden weergegeven met JavaScript.

Ontwikkelaars ondervinden echter verschillende problemen met deze strategie, zoals potentiële beveiligingsproblemen, aanzienlijk langere laadtijden van pagina's en achteruitgang van de algehele zoekmachineoptimalisatie van de site. Frameworks zoals Next.js omzeilen deze problemen door toe te staan dat een deel of de hele website aan de serverzijde wordt opgebouwd voordat deze naar de client wordt verzonden.

Next.js is een van de populairste frameworks voor React. Het is een van de verschillende aanbevolen "toolchains" die beschikbaar zijn bij het starten van een nieuwe app.

Next.js vereist Node.js en kan worden geïnitialiseerd met npm.

In oktober 2024 werd het framework gebruikt door veel grote websites, waaronder Walmart, Apple, Nike, Netflix, TikTok, Uber, Lyft, Starbucks en Spotify.

De oorspronkelijke auteur van het framework, Guillermo Rauch, is momenteel CEO van Vercel, en de hoofdbeheerder van het project is Tim Neutkens.

Ontwikkelingsgeschiedenis

[bewerken | brontekst bewerken]

Next.js werd voor het eerst uitgebracht als een opensourceproject op GitHub op 25 oktober 2016. Het werd oorspronkelijk ontwikkeld op basis van zes principes:

  1. functionaliteit die direct bruikbaar is zonder configuratie
  2. overal JavaScript, alle functies zijn geschreven in JavaScript
  3. automatische code-splitting en server-rendering
  4. configureerbare data-fetching
  5. anticiperen op verzoeken
  6. vereenvoudiging van de implementatie.

In oktober 2025 bracht Vercel Next.js versie 16 uit.

Vormgeving en kenmerken

[bewerken | brontekst bewerken]

Next.js ondersteunt styling met CSS, evenals voorgecompileerde Scss en Sass, CSS-in-JS en gestileerde JSX. Daarnaast is het gebouwd met TypeScript-ondersteuning en slimme bundeling. De open-source transpiler SWC wordt gebruikt om code te transformeren en te compileren naar JavaScript dat door een browser kan worden gebruikt. Webpack, een andere open-source tool, wordt gebruikt om de modules daarna te bundelen, maar wordt momenteel vervangen door TurboPack. Al deze tools worden gebruikt met npm in een terminal.

Het belangrijkste kenmerk van Next.js is het gebruik van server-side rendering om de belasting van webbrowsers te verminderen en de beveiliging te verbeteren. Dit kan worden gedaan voor elk onderdeel van de applicatie of het hele systeem, waardoor pagina's met veel inhoud kunnen worden geselecteerd voor server-side rendering. Het kan ook alleen worden gedaan voor bezoekers die de site voor het eerst bezoeken, om de belasting van webbrowsers te verminderen die nog geen van de bestanden van de site hebben gedownload.

De functie "hot reloading" detecteert wijzigingen zodra deze worden aangebracht en rendert de betreffende pagina's opnieuw, zodat de server niet opnieuw hoeft te worden opgestart. Hierdoor worden wijzigingen in de applicatiecode direct in de webbrowser weergegeven, hoewel sommige browsers vereisen dat de pagina wordt vernieuwd.

De software maakt gebruik van paginagebaseerde routing voor het gemak van de ontwikkelaar en biedt ondersteuning voor dynamische routing. Andere functies zijn onder andere hot-module replacement, zodat modules live kunnen worden vervangen, automatische code splitting, waarbij alleen de code wordt opgenomen die nodig is om de pagina te laden, en page prefetching om de laadtijd te verkorten.