Pourquoi nous avons choisi Nuxt pour notre blog tech
Entre Next.js, Astro et Nuxt, le choix d'une stack pour un blog statique n'est jamais anodin. Voici notre raisonnement et les trade-offs acceptés.
Le contexte
Chez Indy, notre stack principale côté frontend est Vue 3. Lorsque nous avons décidé de lancer un blog tech public, la question de la stack s'est posée naturellement.
Les candidats
Astro
Astro est excellent pour les sites statiques : minimal JavaScript, performance extrême, support MDX natif. Mais son modèle "îles" est moins naturel pour une équipe Vue habituée aux composants SPA.
Next.js
Next.js est le standard de facto dans l'écosystème React. Mais introduire React dans un projet Vue aurait créé une divergence cognitive pour l'équipe.
Nuxt
Nuxt s'impose naturellement :
- Cohérence avec notre stack Vue existante
- Nuxt Content pour le contenu MDX without configuration overhead
- Génération statique avec
nuxt generate - Écosystème modules riche (OG images, SEO, Tailwind)
Notre configuration finale
// nuxt.config.ts
export default defineNuxtConfig({
modules: [
"@nuxt/content",
"nuxt-og-image",
],
vite: {
plugins: [tailwindcss()],
},
});
Simple, extensible, cohérent avec l'existant.
Les compromis
- Bundle size légèrement supérieur à Astro pour un blog statique pur
- Courbe d'apprentissage de Nuxt Content v3 (API queryCollection)
- Build time plus long qu'un générateur statique minimal
Ces compromis sont acceptables au regard du gain de cohérence pour l'équipe.
Conclusion
Pour un blog tech porté par une équipe Vue, Nuxt est le choix rationnel. Le coût d'apprentissage est quasi nul, et on reste dans notre zone de confort pour itérer rapidement.