React ou Next.js ? Choisir sa stack frontend en 2026
La question « React ou Next.js ? » revient régulièrement dans les appels d’offres et les comités d’architecture. Elle révèle souvent une confusion fondamentale : Next.js est construit sur React. Choisir Next.js, c’est choisir React avec un ensemble d’opinions sur le routage, le rendu côté serveur, l’optimisation des images et la génération statique. La vraie question est : avez-vous besoin de ces opinions, et lesquelles ?
Quand React seul est le bon choix
React sans framework est adapté aux applications monopage (SPA) qui s’exécutent entièrement dans le navigateur : tableaux de bord d’administration interne, outils métiers sans contrainte SEO, applications mobiles via React Native. Dans ces cas, ajouter Next.js apporte de la complexité sans valeur : gestion du SSR dont vous n’avez pas besoin, contraintes sur la structure des fichiers de routes, couche serveur à déployer et maintenir.
Des outils comme Vite permettent de démarrer une application React pure très rapidement avec une excellente DX et des builds rapides. L’écosystème React (React Query, Zustand, React Hook Form) couvre pratiquement tous les besoins d’une SPA sans ajouter un framework full-stack.
Quand Next.js s’impose
Next.js est le bon choix dès lors que vous avez des contraintes sur les performances perçues (Core Web Vitals), le référencement naturel (les moteurs de recherche peinent avec le JavaScript pur), ou la personnalisation dynamique par utilisateur. Le SSR et l’ISR sont des avantages concrets sur ces trois dimensions. Next.js est aussi le bon choix pour un site marketing, une plateforme e-commerce ou toute application dont le premier rendu doit être instantané.
Le Next.js 13+ App Router : points de vigilance
L’App Router introduit une distinction entre Server Components et Client Components qui change fondamentalement la façon de concevoir l’architecture React. Les Server Components ne peuvent pas avoir d’état local ni d’effets de bord, mais peuvent accéder aux données directement sans couche API intermédiaire. Évitez de tout mettre en Client Components par habitude — vous perdriez la majorité des bénéfices de Next.js.