Vue ou Nuxt, lequel choisir ?

Rodolphe - Alsacreations - 20/04

Vue ou Nuxt, lequel choisir ?

TL;DR — Vue.js est un framework JavaScript pour construire des interfaces interactives ; Nuxt est le framework qui s'appuie dessus pour aller plus loin, notamment côté rendu serveur et SEO. Choisir entre les deux, c'est avant tout une question de contexte projet.

Un peu de contexte

Dans l'écosystème JavaScript, les choix ne manquent pas. React, Astro, Angular, Svelte, Solid... et bien sûr Vue.js. Depuis sa création par Evan You en 2014, Vue s'est imposé comme une solution crédible, lisible et agréable à utiliser.

Nuxt, lui, est né d'un besoin concret : rendre Vue exploitable pour des projets nécessitant d'autres modes de fonctionnement, c'est-à-dire avec du rendu côté serveur, une structure de projet cohérente, et une bonne gestion du SEO. Créé en 2016 par Sébastien Chopin et son frère Alexandre, Nuxt est aujourd'hui très complet construit autour de Vue et de Vite.

Vue en bref

Vue.js est un framework JavaScript progressif pour construire des interfaces utilisateur. Il est particulièrement apprécié pour :

  • Sa courbe d'apprentissage OKLM on peut l'adopter progressivement, sans tout réécrire et même le greffer sur des pages existantes (un peu à la manière de jQuery mais ce n'est pas très pratique)
  • Sa syntaxe TKT avec les Single File Components (fichiers .vue) qui regroupent template, script et style dans une seule brique et qui sont bien plus proches de ce qu'on produit en intégration native que d'autres frameworks tels que React avec JSX
  • Sa réactivité grv de ouf avec la Composition API (introduite en Vue 3), qui apporte une vraie flexibilité architecturale
  • Son écosystème swag : Vue Router, Pinia, Vite, et une communauté active

Vue est un framework côté client (CSR — Client Side Rendering) par défaut. Le code HTML ou plutôt le DOM est généré dans le navigateur à partir du code JavaScript des composants. C'est ce détail qui va se révéler important.

Nuxt en bref

Nuxt est un méta-framework basé sur Vue. Il ajoute une couche d'abstraction qui prend en charge des problématiques que Vue ne résout pas nativement (parce qu'il n'est pas fait pour ça) :

  • Rendu universel (SSR / SSG / hybride) : le contenu peut être généré côté serveur, au build (compilation), ou à la demande
  • Routing automatique basé sur la structure des fichiers dans /pages
  • Auto-impor...
    [Courte citation de 8% de l'article original]
Loading...