l'essentiel
Next.js, c'est React avec un framework complet autour. React seul (Vite + routeur), c'est la liberte totale mais tout est a ta charge. Pour la majorite des projets web, Next.js est le choix par defaut. React nu reste pertinent pour les SPA, les widgets et les apps desktop.
Outil
Next.js
Le framework React de production : routing, SSR, API routes et optimisations integrees.
- Prix
- Gratuit et open source.
- Ideal pour
- Les devs qui veulent un stack React complet, SEO-ready, sans tout assembler a la main.
Outil
React
La librairie UI, point. Pas de routing, pas de rendu serveur, pas de conventions de framework.
- Prix
- Gratuit et open source.
- Ideal pour
- Les devs qui veulent choisir et assembler chaque brique du stack eux-memes.
verdict
Comparaison rapide
Un tableau propre pour voir vite ou chaque outil prend l'avantage.
| Dimension | Next.js | React | Avantage |
|---|---|---|---|
| Fonctionnalites integrees | Routing, SSR, API routes, metadata, optimisation images : tout est la. | Composants et hooks. Pour le reste, c'est toi qui choisis. | Next.js |
| Liberte architecturale | Flexible, mais dans les rails du framework. | Controle total : c'est juste une librairie. | React |
| SEO | SSR et metadata integres. Ideal pour les pages publiques. | Faisable, mais ca demande beaucoup plus de setup. | Next.js |
| Charge cognitive pour un dev solo | Plus faible. Les decisions cles sont deja prises. | Plus elevee. Chaque piece manquante, c'est ton probleme. | Next.js |
| Apps embarquees et widgets | Ca marche, mais c'est plus lourd que necessaire. | Parfait : bundle minimal, zero overhead framework. | React |
Ce comparatif est bizarre par nature
Mettons les choses au clair tout de suite : Next.js est React. Choisir Next.js, c'est choisir React. On ne compare pas deux librairies concurrentes. On compare React tout nu avec React enveloppe dans un framework de production.
C'est un peu comme comparer "conduire" et "conduire une Golf". L'un est l'activite, l'autre une facon specifique de la pratiquer.
Mais la recherche "Next.js vs React" est tapee des milliers de fois par mois, et la question est legitime. Parce que "React seul" en 2026 et "Next.js" en 2026, ca produit deux experiences de developpement, deux architectures, et deux contraintes de deploy completement differentes.
Alors on va repondre proprement.
Ce que "React seul" veut dire en 2026
Quand on dit "React seul", on ne parle pas de Create React App. CRA est mort. Officiellement deprecie. Si quelqu'un te recommande CRA en 2026, ferme l'onglet.
React seul en 2026, ca veut dire Vite comme outil de build, plus ce que tu decides de brancher par-dessus. Typiquement :
- Vite pour le bundling et le dev server (rapide, stable, bien maintenu)
- React Router ou TanStack Router pour le routing cote client
- TanStack Query ou SWR pour le data fetching
- Du SSR maison si tu en as besoin (la plupart des gens s'en passent)
- Controle total sur le pipeline de build, la cible de deploy et la structure de dossiers
Ce setup est solide. Le dev server Vite demarre en quelques millisecondes. Le hot module replacement marche bien. L'ecosysteme autour de React cote client est mature.
Le tradeoff : tu assembles le stack toi-meme. Chaque dependance, c'est ton choix, ton integration, ta maintenance. C'est soit de la liberte, soit de la charge mentale, selon ton temperament et les besoins du projet.
Ce que Next.js apporte en plus
Next.js prend React et construit un framework de production autour. Voici ce que tu obtiens directement, sans rien configurer :
Routing base sur les fichiers. Tu poses un fichier dans app/dashboard/page.tsx, tu as une route. Les layouts s'imbriquent automatiquement. Les etats de chargement et les error boundaries sont integres dans la convention de fichiers. Zero fichier de config de routeur.
Les Server Components. C'est le gros morceau. Les React Server Components permettent de fetcher des donnees et rendre du HTML cote serveur sans envoyer ce code au client. Ton bundle diminue. Le premier affichage accelere. Le modele mental demande un temps d'adaptation, mais les gains de performance sont reels.
Les Server Actions. Soumissions de formulaires et mutations qui s'executent cote serveur, appelees directement depuis tes composants. Plus besoin de boilerplate de routes API pour les operations CRUD basiques. Ca fait bizarre au debut, puis ca parait evident.
ISR (Incremental Static Regeneration). Des pages statiques qui se revalident en arriere-plan selon un intervalle que tu controles. Tu obtiens des temps de chargement de CDN avec des donnees raisonnablement fraiches. Reproduire ca en dehors de Next.js demande un gros travail d'infra.
Optimisation des images. Le composant next/image gere le redimensionnement responsive, le lazy loading, la conversion de format (WebP/AVIF) et le cache CDN. Tu peux faire pareil avec d'autres outils, mais Next.js en fait un changement d'une ligne.
L'API de metadata. Balises SEO, images Open Graph, donnees structurees. La fonction generateMetadata te permet de construire des meta tags dynamiques colocalises avec la logique de ta page. Beaucoup plus propre que de se battre avec react-helmet.
Le middleware. Du code qui s'execute a l'edge avant qu'une requete atteigne ta page. Verification d'auth, redirections, routing base sur la geolocalisation, A/B testing. Ca tourne sur le CDN, pas sur ton serveur.
Les API routes integrees. Besoin d'un endpoint webhook rapide ou d'un proxy cote serveur ? Un fichier route.ts dans ton repertoire app suffit. Ca ne remplace pas un vrai backend, mais ca couvre beaucoup de cas pour un produit indie.
Tout ca fonctionne ensemble. Le routing connait les Server Components qui connaissent le data fetching qui connait le cache. L'integration entre les pieces, c'est le produit.
Quand React seul reste le bon choix
Tous les projets n'ont pas besoin de ce que Next.js offre. Voici les cas ou React + Vite est le meilleur appel :
SPA derriere un login. Si toute ton app vit derriere une authentification et qu'aucune page publique n'a besoin d'etre indexee par Google, le SSR ne t'apporte rien. Une SPA Vite est plus simple, plus rapide a construire, et a moins de pieces en mouvement.
Widgets embarques. Tu construis un composant React qui s'integre dans le site de quelqu'un d'autre ? Tu veux un bundle minimal sans overhead de framework. Next.js est overkill ici.
Apps desktop avec Electron. Les apps Electron tournent dans un shell navigateur. Il n'y a pas de serveur, pas de SEO, pas de conventions de routing qui ont du sens pour une UI desktop. React + Vite est l'approche standard.
Outils internes et dashboards admin. Ton CRM interne n'a pas besoin de rendu serveur. Il n'a pas besoin d'ISR. Il a besoin de navigation client rapide et d'une bonne gestion d'etat. Vite + React Router + TanStack Query, c'est le combo parfait.
Extensions navigateur. Les extensions tournent dans un environnement sandbox du navigateur. Les features serveur de Next.js sont sans objet. Tu as besoin d'un build React leger qui produit des assets statiques.
Le point commun : React seul gagne quand tu n'as pas besoin de serveur, pas besoin de SEO, et que tu ne veux pas qu'un framework impose ses conventions sur une contrainte archi specifique.
La taxe framework
Next.js n'est pas gratuit au sens "zero compromis". Le choisir, c'est accepter certaines opinions :
Le routing par fichiers est obligatoire. Tu ne peux pas t'en passer. Si tu as des opinions fortes sur le fonctionnement du routing, ou si ta structure d'URL ne mappe pas proprement sur une arborescence de fichiers, tu vas te battre contre le framework.
L'App Router est complexe. Server Components, Client Components, la directive "use client", les Server Actions, le comportement du cache, le streaming, le partial prerendering. Le modele mental a une vraie courbe d'apprentissage. Et la doc React et la doc Next.js ne sont pas toujours d'accord sur les bonnes pratiques, ce qui n'aide pas.
Les temps de build augmentent. Au fur et a mesure que ton app grossit, les builds Next.js ralentissent. Type checking, linting, compilation des Server Components, generation de pages statiques. Un gros projet Next.js peut avoir des builds de cinq a dix minutes. Une SPA Vite de complexite equivalente pourrait builder en trente secondes.
Les defaults sont optimises pour Vercel. Next.js fonctionne sur d'autres plateformes (Docker, AWS, Cloudflare), mais l'experience la plus fluide est sur Vercel. Les edge functions, l'ISR, l'optimisation d'images, les analytics -- tout ca marche mieux sur l'infra de Vercel. Self-hoster Next.js, c'est faisable mais ca demande plus de config.
Les upgrades entre versions majeures, c'est du boulot. La migration du Pages Router vers l'App Router a ete penible pour beaucoup d'equipes. Next.js avance vite, et suivre le rythme demande un effort de migration periodique.
Aucun de ces points n'est redhibitoire. Mais ce sont des couts reels a factoriser dans ta decision, surtout si tu es dev solo et que tu ne veux pas debugger les internals du framework a 2h du mat.
Performance : deux strategies differentes
La performance est nuancee ici parce que les deux setups optimisent des choses differentes.
React + Vite est ultra rapide pour les SPA. Le dev server demarre en millisecondes. Le HMR est quasi instantane. Les builds de prod sont petits parce qu'il n'y a pas de runtime serveur. La navigation cote client est rapide parce que tout est deja charge. Le point faible : le premier chargement sur connexion lente et le SEO des pages publiques.
Next.js optimise le first meaningful paint et le contenu rendu cote serveur. Les Server Components reduisent le JavaScript cote client. L'ISR donne des vitesses de site statique avec des donnees dynamiques. Mais il y a l'overhead serveur, la latence de cold start sur les plateformes serverless, et plus de complexite dans la couche de cache.
Pour un SaaS public avec un site marketing, un blog et de la doc a cote de l'app, les gains de performance de Next.js sont significatifs. Pour un dashboard que les utilisateurs visitent quotidiennement derriere un login, le modele SPA est dur a battre en termes de vitesse percue apres le premier chargement.
L'argument recrutement
Un point dont on parle peu : le marche de l'emploi a fusionne "dev React" et "dev Next.js".
Regarde les offres d'emploi frontend. La plupart des postes React listent Next.js comme requis ou fortement prefere. La plupart des tutos et formations React enseignent Next.js comme la facon par defaut de construire avec React.
Si tu montes une equipe (meme petite), choisir Next.js signifie un pool de recrutement plus large. Les devs s'y attendent. C'est le modele mental par defaut en 2026.
Si tu choisis React nu avec un setup Vite custom, tu auras besoin de devs a l'aise avec l'assemblage et la maintenance de leur propre couche framework-like. Ces devs existent, mais ils sont un pool plus petit et tendent a etre plus seniors (et plus chers).
Le mythe de la migration "plus tard"
"On commence avec React nu et on passera a Next.js plus tard si besoin."
On entend ca tout le temps. C'est techniquement possible mais bien plus couteux que les gens le pensent.
Passer d'une SPA Vite a Next.js implique de repenser le routing, les patterns de data fetching, la frontiere entre composants serveur et client, et l'infra de deploy. Ce n'est pas un projet de week-end pour une app non triviale.
Aller dans l'autre sens (Next.js vers React nu) est encore plus dur parce que tu retires des capacites dont ton code depend.
Notre conseil : prends la decision framework tot et assume-la. Le cout de migration est reel.
Quand choisir Next.js
- Tu construis un produit avec des pages publiques qui ont besoin de SEO
- Tu veux du SSR ou de la generation statique sans le configurer toi-meme
- Tu as besoin d'un blog, d'un site de docs ou de pages marketing a cote de ton app
- Tu veux un seul deploy qui gere le frontend et des API routes legeres
- Tu preferes la convention a la configuration et tu veux des decisions deja prises
- Tu es dev solo ou en petite equipe et tu veux moins de decisions d'integration
- Tu prevois de deploy sur Vercel, Netlify, ou une plateforme qui supporte Next.js nativement
Quand choisir React seul
- Ton app est entierement derriere une auth sans besoin SEO public
- Tu construis un widget embarque, une extension navigateur ou une app Electron
- Tu veux le controle max sur ton pipeline de build et ta cible de deploy
- Tu construis un outil interne ou un dashboard admin
- Tu as des opinions archi fortes qui entrent en conflit avec les conventions Next.js
- La vitesse de build est une priorite absolue et tu ne toleres pas des builds de plusieurs minutes
- Tu travailles dans une architecture micro-frontends
Verdict
La majorite des nouveaux projets devraient partir avec Next.js. C'est pas vraiment un match serre.
La quantite d'infra production-ready qu'on recoit gratuitement -- routing, rendu serveur, optimisation images, metadata, API routes, middleware -- prendrait des semaines a assembler et des mois a maintenir si on faisait tout soi-meme.
React seul avec Vite est un excellent choix quand on a une raison specifique. SPA, widgets embarques, apps Electron, outils internes. Ce sont des cas d'usage legitimes ou Next.js ajoute de la complexite inutile.
Mais si tu lances un SaaS, un site de contenu, ou n'importe quel produit avec des pages publiques, prends Next.js, configure ton projet, et concentre-toi sur ce qui compte vraiment : ton produit. La decision framework devrait prendre cinq minutes, pas cinq jours.
Alternatives liees
FAQ
Next.js est-il meilleur que React ?+
La question est mal posee. Next.js utilise React. Le vrai choix, c'est entre React avec un framework de production et React tout nu.
Quand est-ce que React seul reste le bon choix ?+
Quand l'app est client-only (SPA derriere un login), embarquee dans un autre site, ou que tu as des contraintes archi specifiques qui collent mal avec les conventions Next.js.
Que recommandez-vous pour un dev indie qui lance un SaaS ?+
Next.js. Le nombre de decisions qu'il elimine d'office justifie largement la courbe d'apprentissage du framework.