
Comenzamos a programar en NextJS, en esta sección aprenderás los conceptos básicos del framework, como está estructurado y cual es la Next way, es decir como trabaja y cual es la filosofía de NextJs. Sin más, comencemos.
Tenemos que tener claro para qué nos sirve usar NextJS, de esa manera sabremos en que casos es conviente utilizarlo.
Vercel es la empresa que está detrás de NextJS, una plataforma que hace que desplegar proyectos en línea sea muy sencillo.
Para trabajar con NextJS no necesitamos demasiadas aplicaciones. NodeJS, Git y un editor de código. Yo propongo usar Visual Studio Code. Pero son libres de elegir el que más les guste.
Llego el momento de crear nuestra primera aplicación en NextJS. Veremos la forma de crear y las diferentes opciones que nos solicita contestar al momento de crearla. También aprenderemos como correr nuestro servidor local para ver como va quedando.
En este vídeo haremos un recorrido por nuestro primer proyecto en NextJS para conocer la estructura de carpetas y los archivos que contiene.
Vamos a usar TailwindCSS para darles estilos a nuestras aplicaciones en este curso. En este vídeo haremos una introducción a como funciona.
NextJs maneja el enrutamiento de una forma muy sencilla, en este video aprenderás a crear varias rutas de forma clara y manejable.
Practiquemos un poco como funciona las rutas en NextJS. Una pequeña tarea para familiarizarnos con las páginas de forma fácil.
Solucionamos la tarea del enrutamiento que vimos en el vídeo anterior.
Con NextJs podemos no solo tener un sitio web estático, también podemos tener un servidor, esto significa que podemos tener un servidor de NodeJS sin problemas en el que podemos implementar un API REST. Aquí te muestro cómo funciona.
Cuando trabajamos en NextJS tenemos la posibilidad de configurar el SEO, para eso nos ayuda un elemento llamado metadata. Aquí te mostraré como utilizarlo.
Un archivo muy importante en NextJS es layout.tsx, aquí aprenderemos como usarlo.
Hay diferentes formas de manejar el CSS de nuestras aplicaciones. Aquí aprenderemos a usarlos.
Una forma de compartir documentos en un servidor mediente la forma más fácil posible usando el folder especial en NextJS.
Atomizar nuestra aplicación es muy importante para aprovechar lo más posible las capacidades de React tanto de escalabilidad como de eficiencia.
En NextJs hay varios componentes especiales que debemos conocer. Uno de ellos es Link, en este video aprenderemos sobre su uso y beneficios.
Otro componete especial de NextJS es Image. En este vídeo te mostraré qué beneficios tiene usarlo.
Practiquemos lo aprendido en los últimos vídeos.
Resolvamos la tarea del vídeo anterior.
Hablemos de lo que aprendimos en esta sección.
Comenzamos nueva sección en la que hablaremos de los diferentes modos de renderizado que existen en NextJS, haciendo un par de ejemplos para entender como funcionan.
Aprendamos sobre la forma en que se renderiza nuestra aplicación en el modelo cliente-servidor que se utiliza tanto en internet.
Debemos recordar que los modos de renderizados no aplican a la aplicación completa, son implementador a los diferentes componentes.
Necesitamos crear nuestro proyecto para ver los diferentes ejemplos de renderizado. En este vídeo vamos a crearlo para comenzar a trabajar.
Vamos a hacer una comparación sobre como funciona ReactJS en comparación de como funciona NextJS. No es necesario que realices el ejemplo, es solo para que notes la diferencia y la entiendas.
Crearemos un pequeño menú para poder movernos entre los ejemplos que haremos en esta sección.
Comenzaremos creando una Landing Page usando NextJS. En este vídeo crearemos el TopBanner.
Seguimos creando nuestra Landing Page, en este video crearemos el menú principal.
Seguimos creando nuestra Landing Page. Seguimos con la sección de contenido principal.
Seguidos maquetando el contenido de nuestra landing page.
En este vídeo terminaremos nuestra mini landing page.
Ahora aprenderemos sobre los componentes CSR o Client Side Rendering.
Seguimos maquetando el formulario para el Generador de constraseñas.
Para poder usar los hook de React necesitamos utilizar los componentes en modo "use client". Aquí aprenderemos como hacerlo.
Creamos nuestro password con las configuraciones que tenemos en nuestro formulario.
Terminamos el ejemplo de componente CSR copiando nuestra contraseña y mostrando un mensaje.
Pasamos al siguiente modo de renderizado, el renderizado dinamico. Comencemos maquetando nuestra app web.
Hagamos la petición al api para obtener los datos de la forma tradicional.
Forma tradiciona o ReactJS way para renderizar nuestros card de la información solicitada en el API.
La forma correcta de realizar las solicitudes en NextJs es con las Server Functions.
Rutas dinámicas en nuestra aplicación
Vamos a practicar lo aprendido hasta ahora, con una pequeña tarea que nos ayudará enfrentar desafíos de código.
Resolvamos la tarea que asignamos en el vídeo anterior.
Maquetamos la página para el single character.
Terminamos la maquetación de nuesro single character page.
Hagamos build de nuestra aplicación.
Repasemos la sección y los diferentes modos de renderizado que conocimos.
Importante aclaración sobre la sección.
Introducción a la sección de Deploy.
Preparemos nuestra app para que cumpla su función en Producción.
Necesitamos una cuenta de Github para crear un repositorio donde subiremos nuestro código.
Subamos nuestro código a Github
Podemos hacer cambios en nuestro repositorio y compartir los cambios para que estén en el repositorio en línea. Actualizar nuestros repos es la forma de actualizar nuestra aplicación.
Vamos a desplegar en Vercel sincronizando con nuestra cuenta de Github.
Integración Continua suena a algo súper profesional, pero sin querer queriendo ya lo implementamos en nuestro proyecto. Veamoslo funcionando.
Vercel nos ofrece muchas caracteríasticas que nos pueden servir mucho. Te invito a que conozcas un poco más de la plataforma y que conozcas las ventajas de usar este servicio.
Repasemos un poco lo que aprendimos en esta sección que fue pequeña pero que incluye temas que son importantes para tu futuro profesional.
Comenzamos nueva sección en la que aprenderemos conceptos nuevos que te permitirán mejorar como programador en NextJS.
Comencemos creando nuestro proyecto.
Grabando este curso OpenAI liberó Github Copilot para usarlo completamente gratis en Visual Studio Code
Demos un vistazo de lo que vamos a construir en esta sección.
El body request es la información que nos envían en la petició Http, aprendamos como leer esta información dentro de nuestra ruta en NextJS.
Les recomiendo encarecidamente siempre configurar los tipos de datos de tus modelos.
Validemos de forma básica los datos que estamos recibiendo en nuestra request.
Creamos el servicio para tener independiente la lógica que realiza el envío del correo.
Configuramos el servicio de Gmail para poder usar el servidor para realizar envío de correos desde nuestra aplicación.
Configuremos correctamente nuestras variables de entorno.
Para el envío de correos usaremos la librería Nodemailer para nodejs, veremos con instalarla y usarla.
Agregamos un parámetro más en lo que vamos a recibir, así que tenemos que validar este campo.
Vamos a probar nuestro servicio desde un frontend de nuestro mismo proyecto. Comencemos maquetando el formulario.
Demosle vida a nuestro formulario para obtener la información que vamos a enviar a nuestra api.
Probemos nuestro servicio enviando correos desde el frontend
Para tener nuestro servicio funcionando en línea vamos a usar Vercel para hacer un despliegue de nuestro proyecto.
Repasemos lo que aprendimos en esta sección.
Nueva sección, nuevo proyecto
Creemos un header para poder verlo en cualquier pantalla de nuestra aplicación.
Ya vimos como obtener esta información en secciones anteriores. Así que como tarea te dejaremos hacerlo para este proyecto.
Obtengamos la información para nuestra aplicación.
Hay que darle estilos a nuestras cards.
Esta es una característica muy buena que trae NextJS que nos permite carga perezosa para las imágenes.
Creemos la página de cada uno de los characteres
Obtengamos la información de los characteres de forma individual.
Solucionamos el error de characters no encontrados.
Una herramiento muy poderosa es el cache para optimizar las peticiones online. Con NextJS es super fácil hacer esto.
Repacemos la sección.
Veremos una de las capacidades más impresionantes que tiene NextJS y es la generación de contenido estático a partir de contenido dinámico.
Veamos como funciona actualmente la aplicación.
Cambiamos el funcionamiento de NextJS simplemente agregando una función a nuestra página.
Para actualizar nuestros archivos estáticos de vez en cuando, para eso vamos a utilizar una extensión del funcionamiento del Fetch.
Generemos la información para nuestra metadata usando funciones especiales de NextJS
Arreglemos los warnings que nos sugiere NextJS solucionar respecto a las imágenes.
Repasemos un poco lo que hemos hecho durante esta sección.
Este curso te enseñará a crear aplicaciones web rápidas, dinámicas y escalables usando Next.js, el framework de ReactJS más popular para proyectos modernos. Aprenderás a manejar el renderizado del lado del servidor (SSR), la generación de sitios estáticos (SSG) y la optimización de aplicaciones web para un rendimiento superior. Además, explorarás cómo integrar API, manejar rutas dinámicas y desplegar tus proyectos en producción. Ideal para desarrolladores que buscan crear aplicaciones web avanzadas con las mejores prácticas de la industria.
Para crear nuestras aplicaciones utilizaremos TailwindCSS, Typescript y muchas herramientas que nos ayudarán a desarrollar rápido nuestras apps. Algunas cosas que aprenderemos son:
Introducción a Next.js y su ecosistema.
Instalación y configuración básica del proyecto.
Páginas y enrutamiento en Next.js.
Renderizado del lado del servidor (SSR).
Generación de sitios estáticos (SSG).
Renderizado híbrido (SSR y SSG combinados).
Pre-renderizado y optimización de SEO.
Manejo de rutas dinámicas y parámetros.
API Routes: Creación de APIs con Next.js.
Estilos globales y módulos CSS en Next.js.
Integración de bases de datos y servicios externos.
Despliegue en plataformas como Vercel.
Optimización de imágenes y recursos estáticos.
Autenticación y protección de rutas.
Manejo de Layouts
Solicitud de recursos via HTTP requests
Estilos con TailwindCSS
Javascript con tipos con Typescript.
Shadcn/UI
V0 dev
Cookies
Middleware
Al terminar el curso conocerás como crear y desplegar tus aplicaciones en NextJS y en Vercel.