Desarrollo de aplicaciones Next.js
Aplicaciones Next.js desde cero sobre App Router — tipadas de extremo a extremo, rápidas por presupuesto y estructuradas para que el segundo año de desarrollo salga más barato que el primero.
La mayoría de los proyectos Next.js fracasan despacio. La primera versión sale
a tiempo y se ve bien. Después el bundle crece, use client se propaga hacia
arriba por el árbol, cada página se vuelve dinámica en silencio, y dieciocho
meses más tarde el equipo discute sobre reescribirlo todo.
Ese deterioro es arquitectónico, y se puede evitar.
Qué construimos
Aceptamos aplicaciones nuevas donde la estrategia de renderizado importa de verdad: frontends de comercio, superficies de producto SaaS, plataformas de documentación, sitios de marketing multirregión y sistemas de contenido que deben servir miles de rutas sin que el build tarde una hora.
Cómo se decide la arquitectura
La estrategia de renderizado se elige por ruta, no por proyecto, y se deja por escrito antes de empezar a implementar:
- Estático para todo aquello cuyo contenido cambia al publicar y no en cada petición: páginas de marketing, documentación, el blog.
- Revalidación incremental para contenido con su propio ritmo, con etiquetas de revalidación conectadas al webhook del CMS en lugar de a un TTL fijo.
- Dinámico y en streaming para superficies realmente por petición —paneles, carritos, cualquier cosa tras autenticación— con los límites de Suspense trazados para que el armazón pinte de inmediato y los datos lentos lleguen después.
La frontera cliente/servidor se trata como un artefacto de diseño. Los Server
Components son el valor por defecto; use client es una decisión deliberada y
revisada que se detiene en la hoja interactiva más pequeña en lugar de
propagarse hasta un layout.
Qué se entrega con ello
Cada proyecto sale con una capa de datos tipada, una biblioteca de componentes documentada en el repositorio, CI que ejecuta typecheck, lint y un presupuesto de Lighthouse en cada pull request, y una nota de arquitectura que explica por qué cada ruta renderiza como renderiza.
Ese último documento es el que importa en el segundo año. Es la diferencia entre una base de código que tu equipo amplía y una que tu equipo sustituye.
