Node.js desde Cero
Aprende a construir aplicaciones backend robustas con Node.js, desde los fundamentos hasta aplicaciones completas.
Progreso del curso
0%

Introducción a Node.js
Node.js es un entorno de ejecución para JavaScript construido con el motor V8 de Chrome. Node.js utiliza un modelo de operaciones E/S sin bloqueo y orientado a eventos, que lo hace liviano y eficiente.
¿Por qué aprender Node.js?
- Utiliza JavaScript tanto en frontend como en backend
- Gran ecosistema de paquetes con npm
- Ideal para aplicaciones en tiempo real y APIs
- Alta demanda en el mercado laboral
Sistema de Progreso
El Sistema de Progreso te ayuda a seguir tu avance en el curso y desbloquear contenido adicional. Aquí te explicamos cómo funciona:
¿Cómo funciona?
- Gana puntos completando proyectos y ejercicios prácticos
- Tu progreso se guarda automáticamente mientras avanzas
- Desbloquea contenido adicional al alcanzar nuevos niveles
Niveles y Recompensas
Acceso a proyectos básicos y ejercicios iniciales
Desbloqueo de soluciones detalladas y proyectos intermedios
Acceso a proyectos avanzados y recursos premium
Acceso a mentoría y proyectos especiales
Cómo ganar puntos
- Completa los ejercicios prácticos al final de cada sección
- Realiza los proyectos propuestos en la sección de proyectos
- Participa en los desafíos de código y ejercicios interactivos
Instalación y configuración de Node.js
Aprende a instalar y configurar Node.js en tu sistema operativo. Node.js es compatible con Windows, macOS y Linux.
Instalación en Windows
Paso 1: Descargar Node.js
- Visita la página oficial: nodejs.org
- Descarga la versión LTS (Long Term Support) recomendada para la mayoría de usuarios
Paso 2: Instalar Node.js
- Ejecuta el archivo descargado (node-vX.X.X-x64.msi)
- Acepta los términos de licencia
- Selecciona la ubicación de instalación (se recomienda dejar la predeterminada)
- Asegúrate de que la opción "Add to PATH" esté marcada
- Completa el asistente de instalación
Paso 3: Verificar la instalación
Abre una nueva ventana de PowerShell o Command Prompt y ejecuta los siguientes comandos:
Deberías ver las versiones instaladas de Node.js y npm. Por ejemplo:
v18.17.0
9.6.7Instalación en macOS
Paso 1: Instalar Homebrew (opcional)
- Abre Terminal
- Ejecuta el siguiente comando:
Paso 2: Instalar Node.js
Elige uno de estos métodos:
Método 1: Usando Homebrew
Método 2: Usando el instalador oficial
- Visita nodejs.org
- Descarga la versión LTS para macOS
- Ejecuta el instalador .pkg descargado
Paso 3: Verificar la instalación
Abre Terminal y ejecuta los siguientes comandos:
Instalación en Linux
Paso 1: Preparar el sistema
Elige los comandos según tu distribución:
Ubuntu/Debian:
Fedora:
Paso 2: Instalar Node.js
Ubuntu/Debian:
Fedora:
Paso 3: Verificar la instalación
Abre una terminal y ejecuta los siguientes comandos:
Configuración inicial
Después de la instalación, es recomendable configurar algunas opciones básicas de npm:
Verificación final
Para asegurarte de que todo está funcionando correctamente, ejecuta estos comandos:
Conceptos Básicos de Node.js
Antes de comenzar a programar, es importante entender los conceptos fundamentales que hacen que Node.js sea único y poderoso.
Variables y Tipos de Datos
Node.js utiliza JavaScript, por lo que comparte los mismos tipos de datos y declaración de variables.
Bucles y Control de Flujo
Node.js proporciona diferentes tipos de bucles y estructuras de control para manejar el flujo de ejecución.
Event Loop y Asincronía
El Event Loop es uno de los conceptos más importantes en Node.js. Permite manejar operaciones asíncronas de manera eficiente.
Módulos y Require
Node.js utiliza un sistema de módulos para organizar el código. Los módulos pueden ser archivos individuales o directorios.
Funciones Avanzadas y ES6+
JavaScript moderno ofrece características avanzadas para el manejo de funciones y sintaxis mejorada.
Streams y Sistema de Archivos
Los streams son una forma eficiente de manejar datos en Node.js, especialmente cuando trabajamos con archivos grandes.
HTTP y Networking
Node.js proporciona módulos nativos para crear servidores web y manejar comunicaciones en red.
Manejo de Errores y Variables de Entorno
El manejo adecuado de errores y la configuración del entorno son aspectos cruciales en el desarrollo con Node.js.
Herramientas de Desarrollo
Las herramientas de desarrollo son esenciales para mantener la calidad del código y facilitar el debugging.
Tu primer programa en Node.js
Vamos a crear un programa simple que muestre un mensaje en la consola. Este es el primer paso para familiarizarte con Node.js.
Ejemplo: Hola Mundo en Node.js
Ejercicio práctico
Modifica el código anterior para crear una función que calcule el área de un círculo dado su radio.
Módulos en Node.js
Node.js utiliza un sistema de módulos para organizar el código. Esto permite dividir tu aplicación en partes más pequeñas y reutilizables.
Ejemplo: Creando y usando módulos
Ejercicio práctico
Crea un módulo llamado "geometria.js" que exporte funciones para calcular el área y perímetro de diferentes figuras geométricas.
Servidores HTTP con Node.js
Node.js proporciona un módulo HTTP nativo que nos permite crear servidores web. Aunque podemos usarlo directamente, en la práctica solemos utilizar frameworks como Express.js para simplificar el desarrollo.
Ejemplo: Servidor HTTP básico
Ejercicio práctico
Crea un servidor HTTP que maneje las siguientes rutas: - GET /api/productos: Devuelve una lista de productos - POST /api/productos: Crea un nuevo producto - GET /api/productos/:id: Devuelve un producto específico
Express.js: Framework Web para Node.js
Express.js es el framework web más popular para Node.js. Proporciona una capa de abstracción que simplifica la creación de aplicaciones web y APIs RESTful.
Ejemplo: API REST con Express.js
Middleware en Express.js
Los middleware son funciones que tienen acceso al objeto request, response y al siguiente middleware en el ciclo de request-response.
Bases de datos con MongoDB y Mongoose
MongoDB es una base de datos NoSQL que se integra perfectamente con Node.js. Mongoose es una biblioteca que nos ayuda a modelar y trabajar con documentos de MongoDB de manera más sencilla.
Ejemplo: Modelo y operaciones CRUD con Mongoose
API REST con MongoDB
Relaciones entre modelos
En MongoDB podemos crear relaciones entre documentos usando referencias o embebiendo documentos.