# Next.js

Next.js est un framework gratuit et open source s'appuyant sur la bibliothèque JavaScript React et sur la technologie Node.js.

## Description

Le framework permet de créer des applications web universelles ou parfois appelées isomorphiques.
Next.js prend en charge les techniques de rendu des pages web côté serveur (SSR : Server Side Rendering$^,$), le rendu statique de pages web (SSG: Static Site Generation). Il prend également en charge la génération hybride de pages web et / ou incrémentale des pages (ISR: Incremental Static Generation).

## Usages

L'application construite avec Next.js peut être utilisée dans un navigateur comme une application web monopage mais elle peut aussi être utilisée comme un ensemble de pages générées par le serveur.

## Style et caractéristiques

Next.js supporte le stylisme avec CSS, ainsi que Scss et Sass pré-compilés, CSS-in-JS et JSX stylisé. Il est également construit avec TypeScript et une prise en charge intelligente du regroupement. Le transpondeur SWC open source est utilisé pour convertir et compiler le code en JavaScript qui peut être utilisé par le navigateur. Webpack, un autre outil open source, est utilisé pour fusionner les modules par la suite, mais il est maintenant remplacé par TurboPack. Tous ces outils sont utilisés avec npm dans le terminal.
La principale caractéristique de Next.js est l'utilisation du rendu côté serveur pour réduire la charge sur les navigateurs web et fournir une sécurité accrue. Cela peut être fait pour n'importe quelle partie de l'application ou pour l'ensemble du système, ce qui permet d'allouer des pages à contenu riche pour un rendu côté serveur. Cela peut également être fait pour les premières visites uniquement, afin de réduire la charge des navigateurs web, qui n'ont pas à charger toutes les ressources du site. La fonction de rechargement à chaud détecte les modifications au fur et à mesure qu'elles sont apportées et réaffiche les pages concernées, de sorte que le serveur n'a pas besoin d'être redémarré. Cela permet aux modifications apportées au code de l'application d'être reflétées immédiatement dans le navigateur web, bien que certains navigateurs nécessitent un rafraîchissement de la page. Le logiciel utilise le routage par page pour faciliter la tâche du développeur et prend en charge le routage dynamique. Parmi les autres fonctionnalités, citons le remplacement à chaud des modules en temps réel, la division automatique du code qui n'inclut que le code nécessaire au chargement de la page, et l'extraction préalable des pages pour réduire les temps de chargement.

## Référencement

L'utilisation de ce framework, présente quelques avantages. La rapidité de chargement de l'application, de la construction de la page dans le navigateur, et l'intervalle de temps entre lequel l'application est chargée et le moment ou l'utilisateur peut interagir avec la page permettent à l'application générée avec Next.js de bénéficier d'un meilleur score par le moteur de recherche Google, rendant possible un meilleur classement dans les résultats de recherche, et donc une meilleure visibilité dans les résultats$^,$$^,$.

## Autres fonctionnalités

Le développement web est facilité par Next.js entre les pages, un système de configuration pour gérer les applications multilingues, un éco-système de modules développé par la communauté.

## Propriété

Les droits d'auteur et les marques déposées de Next.js appartiennent à la société Vercel (anciennement Zeit), qui maintient et dirige également le développement open source.