05 - 馃挕 Pages vs. App Directory: diferencias y usos
Descubre las diferencias clave entre el antiguo sistema pages/ y el nuevo app/ introducido en Next.js 13+.
Aprende cu谩ndo utilizar cada uno y c贸mo migrar tu proyecto correctamente.
馃搫 El antiguo sistema: pages/
Antes de la versi贸n 13, Next.js usaba la carpeta pages/ para definir las rutas del proyecto.
Cada archivo .js o .tsx dentro de pages/ representaba una ruta.
pages/
├─ index.js → Ruta principal: /
├─ about.js → Ruta: /about
└─ contact.js → Ruta: /contact
Este enfoque es simple, pero limitado para aplicaciones m谩s grandes, ya que no soporta caracter铆sticas modernas como layouts anidados, server components o data fetching optimizado.
馃Л El nuevo sistema: app/
A partir de Next.js 13, se introduce el App Router y la carpeta app/.
Esta nueva arquitectura est谩 basada en React Server Components y permite:
- Layouts y sub-layouts autom谩ticos
- Rutas anidadas simples mediante carpetas
- Mejor renderizado del lado del servidor
- Carga progresiva y segmentaci贸n de UI
- Mejor integraci贸n con React 18 (Suspense y Streaming)
app/
├─ layout.js → Layout principal
├─ page.js → P谩gina ra铆z (/)
├─ about/
│ ├─ page.js → Ruta: /about
│ └─ layout.js → Layout espec铆fico
└─ contact/
└─ page.js → Ruta: /contact
⚖️ Comparaci贸n entre ambos sistemas
| Caracter铆stica | pages/ |
app/ |
|---|---|---|
| Ruteo | Basado en archivos | Basado en carpetas |
| Layouts anidados | No soportado | ✅ Soportado nativamente |
| Server Components | No | ✅ S铆 |
| Data Fetching | getStaticProps, getServerSideProps |
Async directamente en componentes |
| Soporte futuro | En mantenimiento | Recomendado y en desarrollo activo |
Ejemplo pr谩ctico (Migrando de pages/ a app/)
// Antes (pages/index.js)
export default function Home() {
return Bienvenido a Next.js (versi贸n pages/)
;
}
// Ahora (app/page.js)
export default function Home() {
return (
Bienvenido al nuevo Next.js 馃殌
Usando el App Router y React Server Components
);
}
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias