En el ámbito del desarrollo web, el entorno cliente se refiere a la interacción que ocurre en el navegador web del usuario. Durante muchos años, JavaScript ha sido el lenguaje de programación principal para el desarrollo en entorno cliente, permitiendo la creación de aplicaciones web interactivas y dinámicas. Sin embargo, el ecosistema de JavaScript ha evolucionado considerablemente, y una de las tecnologías más influyentes en esta transformación ha sido Node.js.

Node.js es un entorno de ejecución de JavaScript basado en el motor V8 de Google Chrome. Fue creado por Ryan Dahl en 2009 y ha revolucionado la forma en que los desarrolladores utilizan JavaScript, permitiendo su uso más allá del navegador y extendiéndolo al lado del servidor. Esto ha proporcionado a los desarrolladores una plataforma unificada para construir aplicaciones web escalables y de alto rendimiento utilizando un solo lenguaje de programación.
El éxito de Node.js
Una de las características clave de Node.js es su modelo de entrada y salida no bloqueante (I/O), basado en eventos. Esto permite a las aplicaciones manejar múltiples solicitudes simultáneamente sin bloquear el flujo de ejecución, lo que resulta en una mayor eficiencia y menor latencia en comparación con los enfoques tradicionales basados en hilos. Esta característica ha sido crucial para el éxito de Node.js en el desarrollo de aplicaciones en tiempo real, como chats, juegos online y plataformas de colaboración.
Gestión de paquetes
El ecosistema de Node.js es otro aspecto importante a considerar en el desarrollo web. Gracias a su gestor de paquetes, npm, los desarrolladores tienen acceso a una amplia biblioteca de módulos y herramientas de terceros que facilitan la creación y el mantenimiento de aplicaciones web. Esto ha impulsado la adopción de enfoques modulares y la reutilización de código en la comunidad de desarrollo, mejorando la eficiencia y la calidad del software producido.
Cómo empezar a trabajar con Node.js
Sigue los pasos que se describen a continuación para comenzar a explorar el mundo de Node.js.
1. Instalación de Node.js
Para comenzar, debemos instalar Node.js en nuestro sistema. Visita el sitio web oficial de Node.js (https://nodejs.org/) y descarga la versión recomendada para tu sistema operativo. Ejecuta el instalador y sigue las instrucciones en pantalla para completar la instalación.
2. Verificación de la instalación
Una vez que hayas instalado Node.js, abre una terminal o símbolo del sistema y ejecuta el siguiente comando para verificar que se ha instalado correctamente:
node -v
Si la instalación fue exitosa, deberías ver la versión de Node.js que has instalado.
3. Creación de un archivo de proyecto
Crea un nuevo directorio para tu proyecto y navega a ese directorio en la terminal. A continuación, crea un archivo llamado “app.js” utilizando un editor de texto de tu elección. Este archivo contendrá nuestro código de Node.js.
4. Escribir tu primer programa de Node.js
Abre el archivo “app.js” en tu editor de texto y escribe el siguiente código:
console.log('¡Hola mundo desde Node.js!');
Este código es un sencillísimo programa de Node.js que imprimirá ‘¡Hola mundo desde Node.js!’ en la consola.
5. Ejecución del programa de Node.js
Vuelve a la terminal y asegúrate de que estás en el directorio del proyecto. Ejecuta el siguiente comando para iniciar el programa de Node.js:
node app.js
Si todo funciona correctamente, deberías ver el mensaje ‘¡Hola mundo desde Node.js!’ impreso en la consola.
6. Instalación de paquetes con npm
Node.js utiliza un gestor de paquetes llamado npm para instalar módulos adicionales. Probemos esto instalando el popular paquete “express” para crear aplicaciones web. Ejecuta el siguiente comando en la terminal:
npm install express
Esto instalará el paquete express y sus dependencias en un directorio llamado “node_modules” en tu proyecto.
7. Creación de un servidor web básico con Express
Borra la línea de código que habíamos añadido al archivo ‘app.js’ y agrega las siguientes líneas al inicio de tu archivo para importar Express:
const express = require('express');
const app = express();
Vamos a crear una ruta básica para que nuestro servidor web responda con un “Hola Mundo” cuando se acceda a la raíz del sitio. Agrega el siguiente código a ‘app.js’:
app.get('/', (req, res) => {
res.send('¡Hola Mundo!');
});
Definiremos el puerto en el que nuestro servidor web estará escuchando las solicitudes. Agrega el siguiente código a ‘app.js’:
const PORT = process.env.PORT || 3000;
Esta línea define un puerto por defecto (3000) si no hay ningún puerto asignado en las variables de entorno del sistema.
Ahora, vamos a decirle a nuestra aplicación que comience a escuchar en el puerto que especificamos. Agrega el siguiente código al final de ‘app.js’:
app.listen(PORT, () => {
console.log(`Servidor funcionando en el puerto ${PORT}`);
});
Guarda los cambios en ‘app.js’ y abre una terminal en la carpeta del proyecto. Ejecuta el siguiente comando para iniciar el servidor:
node app.js
Deberías ver el mensaje “Servidor funcionando en el puerto 3000” en la terminal.
Abre tu navegador web y visita http://localhost:3000. Deberías ver el mensaje “¡Hola Mundo!” en la página.
Felicidades, has creado tu primer servidor web utilizando Express y Node.js.
8. Creación de un servidor web con rutas y parámetros dinámicos
Ahora que ya tenemos un servidor web básico funcionando en el puerto 3000 con un archivo ‘app.js’, nuestra tarea es ampliar el servidor para que maneje rutas dinámicas y parámetros. Queremos conseguir lo siguiente:
- Crear una ruta
/saludoque acepte un parámetronombrey muestre un saludo personalizado. - Crear una ruta
/sumaque acepte dos parámetros numéricosayby devuelva el resultado de sumarlos.
Veamos cómo podemos hacerlo.
Paso 1: Crear la ruta /saludo.
Agrega el siguiente código a tu archivo ‘app.js’ para crear la ruta /saludo:
app.get('/saludo/:nombre', (req, res) => {
const nombre = req.params.nombre;
res.send(`¡Hola, ${nombre}!`);
});
Esta ruta acepta un parámetro llamado nombre y responde con un saludo personalizado.
Paso 2: Crear la ruta /suma
Agrega el siguiente código a tu archivo ‘app.js’ para crear la ruta /suma:
app.get('/suma/:a/:b', (req, res) => {
const a = parseFloat(req.params.a);
const b = parseFloat(req.params.b);
if (isNaN(a) || isNaN(b)) {
res.status(400).send('Los parámetros deben ser números válidos.');
} else {
const resultado = a + b;
res.send(`La suma de ${a} y ${b} es ${resultado}`);
}
});
Esta ruta acepta dos parámetros numéricos, a y b, y devuelve el resultado de sumarlos. También verifica si los parámetros son números válidos y envía un mensaje de error en caso contrario.
Paso 3: Probar las rutas
Guarda los cambios en ‘app.js’ y reinicia el servidor si es necesario. Luego, visita las siguientes direcciones en tu navegador para probar las rutas:
- http://localhost:3000/saludo/Ana – Deberías ver el mensaje “¡Hola, Ana!”.
- http://localhost:3000/suma/4/6 – Deberías ver el mensaje “La suma de 4 y 6 es 10”.
- http://localhost:3000/suma/a/6 – Deberías ver el mensaje “Los parámetros deben ser números válidos.”
Con este ejemplo, has profundizado en el uso de JavaScript usando Node.js y Express al crear rutas dinámicas y manejar parámetros en las solicitudes. Esto te permitirá crear aplicaciones web más avanzadas y personalizadas.
Como has podido ver, trabajar con Node.js desvincula la programación con JavaScript del navegador y nos permite resolver tareas tremendamente interesantes con muy pocas líneas de código. Evidentemente este es simplemente un punto de partida desde el que iniciar el camino con la programación JavaScript del lado servidor. Espero que te haya servido para iniciarte en esta tecnología y lo aproveches para seguir profundizando en su estudio.