🍱 Next.js permet au développeur de créer une application web complète. Il embarque la gestion des routes, l’optimisation des images, le rendu côté serveur ou côté client, etc. En bref, Next.js possède un back pour l’ API et un front avec du React.
▶️ Cependant, je trouve que le back de Next.js devient moins pratique lorsque l’application devient plus complexe. Par exemple, les guard de l’application vont se répéter dans chaque routes. Le middleware de Next.js résout cette redondance mais le problème c’est qu’il n’autorise qu’un seul middleware. On gère donc tout les guard de l’application dans ce seul middleware ce qui va rendre le code difficile à lire.
▶️ De plus, Le Server Components rajoute une complexité sur l’organisation des composants. Au lieu de penser tout simplement au découpage des composants, on doit réfléchir si on va rendre le composant au serveur ou au client.
✔️ Pourtant, je privilège Next.js pour les sites web qui ont besoin du SEO ou des applications avec peu d’interaction au serveur. Par exemple, le Server Action est plus pratique pour une formulaire de contact que de créer une API.