Consumo de datos en servidores con ORM Drizzle y TypeScript
Clase 6 de 24 • Curso de Next.js Avanzado
Contenido del curso
- 10

Internacionalización en NextJS: Middleware y Rutas Dinámicas
11:19 - 11

Internacionalización en Next.js con Traducciones Dinámicas
14:47 - 12

Autenticación de Usuarios con Middleware en Next.js
08:36 - 13

Administración de Cookies con Next.js y JavaScript para Autenticación
15:40 - 14

Integración de Feature Flags en Next.js con LaunchDarkly
20:50 - 15

Manejo de Errores en Next.js: Server Actions y Páginas de Error
14:34 - 16

Integración de Sentry para Monitoreo de Errores en Next.js
12:47
- 17

Gestión del Caché en Next.js: Novedades y Estrategias Avanzadas
17:28 - 18

Seguridad en Next.js: Server Actions y Componentes React
08:35 - 19

Seguridad de Cookies y Encriptación en Aplicaciones Next.js
16:12 - 20

Optimización de Rendimiento en Next.js: Técnicas y Herramientas
17:16 - 21

Despliegue de Aplicaciones Next.js con Vercel y Docker
06:25 - 22

Despliegue de Next.js en Fly.io usando Docker y configuración de Postgres
20:30 - 23

Despliegue de Aplicaciones Next.js con Flyo y Docker
11:00 - 24

Migración y Optimización de Páginas con Next.js
01:59
Aprovechar un ORM para manejar datos relacionales en nuestras aplicaciones modernas puede simplificar enormemente el proceso de consulta y mantenimiento de datos. Aquí exploramos cómo implementar Drizzle como ORM en un proyecto utilizando componentes de servidor y cómo esto optimiza el manejo de datos en Next.js.
¿Qué es un ORM y por qué deberías considerarlo?
- Un ORM (Object-Relational Mapper) facilita la comunicación con bases de datos relacionales a través de abstracciones en lugar de queries SQL crudos.
- Mejora la legibilidad del código, reduce la probabilidad de errores y simplifica el mantenimiento.
- Herramientas como Drizzle ofrecen compatibilidad con TypeScript, integrándose perfectamente en proyectos modernos.
¿Cómo reemplazar un fetch con un ORM?
-
El problema con fetch:
- Fetch suele requerir URLs absolutas, lo que puede complicar el desarrollo y la producción.
- Al depender de una API intermedia, añadimos una capa innecesaria que puede eliminarse.
-
Sustituyendo fetch por Drizzle:
- Identifica la lógica del API intermedia. En este caso, un
fetchenbookmarks API. - Utiliza Drizzle directamente en el componente del servidor para acceder a la base de datos.
- Al hacerlo, reducimos la carga de mantenimiento y optimizamos el flujo de datos.
- Identifica la lógica del API intermedia. En este caso, un
¿Cómo configurar Drizzle en tu proyecto?
-
Conexión inicial:
- Configura Drizzle para trabajar con tu base de datos (en este caso, PostgreSQL).
- Define tus esquemas de base de datos con TypeScript para aprovechar su tipado.
-
Implementación directa:
- Remueve las dependencias a APIs intermedias.
- Reemplaza queries SQL crudos con las funciones del ORM.
- Verifica los resultados y optimiza tu código para asegurar un rendimiento eficiente.
¿Qué ventajas ofrece Next.js en esta integración?
- React Server Components: Permite ejecutar código del servidor en componentes React sin exponer datos sensibles al cliente.
- Optimización automática: Next.js gestiona la separación entre cliente y servidor, garantizando que solo los datos necesarios se envíen al cliente.
¿Cuándo utilizar un ORM en lugar de una API?
- Cuando el proyecto requiere simplicidad en el manejo de datos.
- Si necesitas una solución más eficiente para queries frecuentes o complejas.
- En aplicaciones que buscan eliminar capas intermedias y optimizar el rendimiento.