Por qué migré (y quizás deberías migrar) tu portafolio de Nuxt a Astro
Un artículo que expone las razones concretas para migrar el portafolio de un desarrollador de Nuxt a Astro: rendimiento, builds más rápidos, SEO y arquitectura de islas. Incluye también cuándo NO conviene migrar y los pasos básicos para empezar.
- astro
- tailwind
Un portafolio de desarrollador tiene un solo trabajo: cargar rápido y dejar una buena impresión en los primeros segundos. No hay dashboards, no hay carritos de compra, no hay estado de usuario que sincronizar entre pestañas. Es, casi por definición, el caso de uso perfecto para un sitio centrado en contenido — y eso es exactamente lo que Astro fue diseñado para resolver.
Si tu portafolio vive hoy en Nuxt, aquí van las razones concretas por las que vale la pena considerar la migración.
1. Tu portafolio no necesita ser una aplicación
Nuxt existe para construir aplicaciones Vue completas: autenticación, rutas de API, estado compartido entre componentes, datos que cambian según quién los ve. Es una herramienta pensada para aplicaciones.
Un portafolio, en cambio, es contenido: tu bio, tus proyectos, tu experiencia, quizás un formulario de contacto. Todo eso es prácticamente idéntico para cada visitante. Cuando el 95% de tu sitio es estático, pagar el costo de un framework de aplicación completo — su runtime, su hidratación, su complejidad de configuración — es pagar por algo que casi nunca usas.
Astro parte de la pregunta contraria: ¿qué es lo mínimo que necesito enviar al navegador para que esto funcione? Por defecto, la respuesta es “nada de JavaScript”, y solo agregas interactividad donde realmente la necesitas: un menú, un formulario, una animación puntual.
2. Arquitectura de islas: interactividad sin el peso completo
El concepto central de Astro es la “isla”: un componente interactivo aislado dentro de una página que, por lo demás, es HTML estático. Si tu portafolio tiene un pequeño widget de filtrado de proyectos o un formulario de contacto, ese componente se hidrata de forma independiente — el resto de la página no carga ni un byte de JavaScript adicional.
Lo interesante para alguien que viene de Nuxt es que no hace falta abandonar Vue. Astro tiene una integración oficial para usar componentes Vue como islas, así que puedes migrar tu proyecto conservando buena parte de tus componentes actuales y decidir, isla por isla, cuáles necesitan interactividad y cuáles no.
3. Tiempos de build notablemente más rápidos
Para un portafolio con pocas páginas la diferencia no se nota tanto, pero si el tuyo incluye un blog técnico, estudios de caso extensos o una sección de notas, el tiempo de build empieza a importar. Astro está construido sobre Vite y optimizado para generación estática, lo que se traduce en builds significativamente más ágiles que los de Nuxt en sitios de tamaño equivalente, donde el paso adicional del servidor Nitro añade overhead.
Menos tiempo de build significa iteraciones más rápidas y un despliegue continuo (CI/CD) más ligero — algo que se agradece cuando estás actualizando tu portafolio cada vez que terminas un proyecto nuevo.
4. Mejores puntuaciones de Core Web Vitals, sin esfuerzo extra
Este es, probablemente, el argumento más contundente para un portafolio: como no hay JavaScript de framework que hidratar en la carga inicial, no hay Cambio de Layout Acumulado (CLS) causado por componentes que “saltan” mientras Vue toma el control de la página. El resultado son puntuaciones de rendimiento consistentemente altas en herramientas como Lighthouse o PageSpeed Insights, sin necesidad de optimización manual adicional.
Para un portafolio esto no es un detalle cosmético: reclutadores y clientes potenciales suelen abrir el sitio desde el celular, con conexiones variables, y los primeros dos segundos de carga condicionan la impresión completa.
5. Mejor punto de partida para SEO
Al generar HTML estático y “crawlable” desde el primer momento — sin depender de que un motor de búsqueda ejecute JavaScript para ver el contenido — Astro tiende a posicionarse mejor en resultados orgánicos para sitios de contenido como blogs, landing pages y portafolios. Si tu portafolio incluye artículos técnicos que quieres que aparezcan en Google, este punto pesa bastante a tu favor.
6. Puedes seguir usando el ecosistema que ya conoces
Migrar no significa empezar de cero ni renunciar a lo que ya sabes. Astro es agnóstico respecto al framework de UI: admite Vue, React, Svelte, Solid y más, todos coexistiendo en el mismo proyecto si hace falta. Esto significa que:
- Puedes reutilizar buena parte de tus componentes Vue existentes.
- El enrutamiento basado en archivos de Astro es conceptualmente parecido al de Nuxt, así que la curva de aprendizaje es corta para quien ya viene de ese mundo.
- Astro admite paquetes de NPM igual que cualquier proyecto Vue o Node, así que tus dependencias actuales probablemente sigan funcionando.
En la práctica, muchos desarrolladores que migran su portafolio de Nuxt a Astro describen el proceso como sorprendentemente directo, precisamente porque la estructura de componentes y el modelo mental no cambian tanto — lo que cambia es cuánto JavaScript termina viajando al navegador.
7. Plantillas y starters pensados específicamente para portafolios
Astro cuenta con un catálogo de plantillas oficiales y de la comunidad, incluyendo starters diseñados específicamente para portafolios de desarrollador. Esto acorta el punto de partida: en lugar de armar la estructura desde cero, puedes lanzar un proyecto nuevo con npm create astro@latest, elegir una plantilla de portafolio y enfocar tu tiempo en el contenido y el diseño en lugar de en la configuración inicial.
Cuándo NO tiene sentido migrar
Para ser justos, hay escenarios donde quedarte en Nuxt sigue siendo la mejor decisión:
- Si tu portafolio ya incluye funcionalidad de aplicación real (un dashboard de proyectos con datos en vivo, autenticación, un backend propio), Nuxt te da ese stack completo — rutas de servidor, módulos, integraciones — de forma más madura.
- Si tu equipo o tú tienen mucha inversión en el ecosistema de módulos de Nuxt y no sientes fricción de rendimiento, migrar solo por moda no vale la pena.
- Si la interactividad es el corazón de tu sitio (por ejemplo, un playground de código en vivo en cada proyecto), el modelo de aplicación de Nuxt puede seguir siendo más cómodo que ensamblar múltiples islas.
Cómo empezar la migración
Si decides dar el paso, el camino recomendado es:
- Crear un proyecto nuevo con el asistente de línea de comandos de Astro (
npm create astro@latest) o partir de una plantilla de portafolio existente. - Copiar tu proyecto Nuxt actual a una carpeta separada, fuera de
src, para tenerlo como referencia mientras migras. - Instalar la integración oficial
@astrojs/vuesi quieres reutilizar componentes Vue existentes como islas. - Convertir tus páginas
.vuea archivos.astro, usando el<template>de cada componente como base para el nuevo HTML. - Revisar caso por caso qué componentes necesitan interactividad real (y por lo tanto una isla) y cuáles pueden quedar como HTML estático puro.
En resumen
Un portafolio es, en esencia, un sitio de contenido: pocas páginas, visitas cortas, y una necesidad real de causar buena impresión rápido. Astro fue diseñado exactamente para ese escenario — HTML estático por defecto, interactividad solo donde se necesita, builds rápidos y buenas puntuaciones de rendimiento sin esfuerzo extra — mientras te permite conservar tus componentes Vue si no quieres empezar de cero.
Nuxt sigue siendo la herramienta correcta cuando el proyecto es una aplicación de verdad. Pero si tu portafolio es, como el de la mayoría, un conjunto de páginas que muestran quién eres y qué has construido, Astro probablemente te dé más velocidad con menos esfuerzo.