- 1

Optimización Web con Next.js: Velocidad y Rendimiento Mejorados
01:38 - 2

Creación de Proyectos Next.js con TypeScript y App Router
10:22 - 3

Creación de Tienda Online con NextGIS y Shopify
06:42 - 4

Rutas Estáticas y Dinámicas en Next.js: Creación y Uso Práctico
08:26 - 5

Implementación de Layouts en Next.js: Globales y Locales
06:58 - 6

Navegación Optimizada con Next.js Usando el Componente Link
04:46 - 7

Rutas Dinámicas y Parámetros en Next.js: Implementación Práctica
08:24 - 8

Uso de React Server Components en Next.js: Cliente vs Servidor
09:23 - 9

Arquitectura de Componentes para Landing Page en Next.js
09:13 Prueba tus conocimientos de los conceptos de Next.js
Arquitectura de Componentes para Landing Page en Next.js
Clase 9 de 57 • Curso de Next.js 14
Contenido del curso
- 10

Implementación de CSS Modules en Next.js para Estilizar Componentes
06:46 - 11

Instalación y Configuración de Sass en Next.js
08:39 - 12

Estilos Globales con SASS para Temas Oscuros en Aplicaciones Web
04:41 - 13

Agregar Archivos Estáticos en Next.js: Imágenes y Recursos Internos
04:10 - 14

Optimización de Imágenes con Next.js: Uso de Next.Image
05:48 - 15

Optimización y Responsividad con NextImage en Next.js
09:33 - 16

Optimización de Fuentes de Google en Next.js con Roboto
04:39 - 17

Estilos Dinámicos en React con Classnames y useState
08:39 Confirma que ya sabes manejar estilos y estáticos en Next.js
- 18

Creación de Tienda en Shopify para Desarrollo con Next.js
04:18 - 19

Creación y uso de variables de entorno en Next.js
07:53 - 20

Consumo de APIs con Shopify y React Server Components
09:22 - 21

Implementación de Loader en Next.js para Carga de Productos
09:07 - 22

Implementación de Root Grouping en Next.js
06:34 - 23

Manejo de Errores en Next.js con React Error Boundary
08:19 Pon a prueba lo que aprendiste de data fetching en Next.js
- 24

Manejo de Errores y Páginas 404 en Next.js
09:17 - 25

React Server Components en Next.js: Renderizado y Optimización
10:12 - 26

Diferencias entre archivos Template y Layout en Next.js
05:57 - 27

Arquitectura Escalable para Aplicaciones de Software
08:23 - 28

Creación de APIs con Next.js y Road Handlers
07:54 - 29

Configuración y Creación de Colecciones en Shopify
05:53 - 30

Patrones de Fetching en Next.js: Secuencial y Paralelo
11:36 - 31

Filtrado Dinámico de Productos en Shopify mediante API Collections
10:36 - 32

Uso de searchParams y params en componentes React cliente-servidor
07:38 - 33

Implementación de la Vista de Producto en TypeScript y React
11:43 - 34

Gestión de Caché en Next.js: Tipos y Recomendaciones Prácticas
10:31 - 35

Revalidación de Caché en Next.js: Endpoints por Tag y Path
11:20 - 36

Redirección en Next.js: Server y Client Components
06:34 - 37

Creación de un Componente React para Sanitizar HTML
10:26 - 38

SEO Dinámico y Estático en Next.js para Mejorar Posicionamiento Web
08:51 ¡Revisa los temas avanzados de Next.js en este quiz!
- 39

Implementación de API GraphQL en Shopify para Autenticación Segura
03:48 - 40

Uso de Server Actions en Next.js para Formularios React
06:22 - 41

Implementación de Signup con GraphQL y Shopify
12:56 - 42

Implementación de Cookies de Acceso en Shopify con Next.js
11:20 - 43

Implementación de Flujo de Login con Tokens y Cookies
07:50 - 44

Validación de Access Tokens en Next.js con GraphQL y Cookies
07:51 - 45

Implementación de Carrito de Compras con React Icons
11:37 - 46

Manejo de estado global con Sustant en Next.js 13
09:34 - 47

Implementación de Carrito de Compras en JavaScript y CSS
07:55 - 48

Solución de errores de hidratación en carritos con Next.js y Shopify
12:13 - 49

Implementación de Middlewares en Next.js para Control de Acceso
08:39
¿Cómo crear una arquitectura profesional para una landing page?
El desarrollo de una landing page efectiva implica una buena organización y componentización del código, lo que permite un mantenimiento a largo plazo y una estructura clara. A continuación, te mostraré cómo estructurar tu proyecto utilizando componentes tanto compartidos como específicos de página.
¿Cuál es el proceso para organizar componentes compartidos?
El primer paso es identificar los componentes que serán compartidos entre diferentes layouts o utilizados en un sistema de diseño común, como botones o tarjetas. Estos componentes deben ser ubicados en una carpeta llamada shared. Por ejemplo, el componente Header es un componente compartido que se clasificará dentro de esta carpeta:
// En la carpeta shared
export const Header = () => {
return (
<header>
{/* Contenido del header */}
</header>
);
};
// Proxy para exportar
export * from './Header';
¿Cómo organizar componentes específicos de la página?
Los componentes específicos de una página, como podría ser la landing page del home, se deben agrupar en una carpeta correspondiente al dominio dentro de components. Por ejemplo, para el home, podríamos tener una estructura como la siguiente con componentes Hero, MainProducts y Description:
- Crear una carpeta
homedentro decomponents. - Dentro de
home, crear los componentes necesarios.
Ejemplo de componente Description:
// Dentro de la carpeta home
export const Description = () => {
return (
<section>
Descripción del producto
</section>
);
};
// Proxy para exportar
export * from './Description';
¿Por qué emplear archivos proxy de exportación?
Utilizar un archivo index.ts como proxy para exportar componentes facilita las importaciones en otras partes del proyecto y mejora la legibilidad del código. Esto evita que las rutas de importación sean redundantes y permite cambios más sencillos:
// Archivo proxy: index.ts
export * from './Footer';
Cuando se realice la importación, se hace de manera simplificada:
// Importando el Footer
import { Footer } from '../components/shared';
Esta práctica también ayuda a que, si uno de nuestros componentes falla, el mensaje de error indique exactamente dónde está el error y cuál fue el componente que lo causó.
¿Cómo estructurar una página de manera limpia?
Es importante adoptar una metodología de bloques y componentes encapsulados, evitando código extenso en los layouts. A la larga, esta práctica facilita el mantenimiento y permite cambios o actualizaciones con menor riesgo de errores.
Por ejemplo, para la landing page:
import { Header, Footer } from '../components/shared';
import { Description } from '../components/home';
const HomePage = () => {
return (
<>
<Header />
{/* Otros componentes como Hero y MainProducts */}
<Description />
<Footer />
</>
);
};
export default HomePage;
Este enfoque similar a bloques de Lego para la organización del código no solo mantiene la estructura limpia, sino que también hace que el desarrollo sea más flexible y escalable.
Utilizar una arquitectura de componentes bien organizada es vital para el éxito del desarrollo web profesional. Te invito a que apliques estas prácticas para mejorar la calidad y mantenibilidad de tu código en tus proyectos. ¡Sigue adelante y continúa aprendiendo!