← Volver a la lista de posts

Introducción a Node.js

Node.js es una plataforma que nos permite ejecutar código JavaScript fuera del navegador. En este post explicaremos cómo empezar con Node.js, qué tipo de aplicaciones puedes construir y una introducción a su poderoso manejador de paquetes.

Muchas personas creen que Node.js se utiliza sólo para crear aplicaciones Web, pero esto no es cierto. Con Node.js puedes hacer mucho más que eso. Node.js es equivalente a otros lenguajes de programación como Ruby, Python y Java, por nombrar algunos.

Todo lo que sabes actualmente de JavaScript te va a servir para crear aplicaciones con Node.js (variables, condicionales, ciclos, arreglos, etc.). Sin embargo, con Node.js puedes hacer cosas que no se pueden hacer dentro del navegador como:

  • Manipular archivos del sistema (crear, editar, eliminar, etc.).
  • Crear aplicaciones para la línea de comandos.
  • Crear aplicaciones móviles.
  • Crear aplicaciones de escritorio.
  • Y, claro, crear aplicaciones Web.

Primeros pasos

Para empezar con Node.js debes primero descargarlo e instalarlo en tu maquina. Abre este enlace y sigue las instrucciones para tu sistema operativo.

Asegúrate que haya sido correctamente instalado abriendo una línea de comandos y ejecutando node -v:

$ node -v
v10.7.0

Aunque la versión puede ser diferente, asegúrate que sea una reciente, preferiblemente mayor a 9.0.0.

Existen dos formas de ejecutar código en Node.js. La primera es utilizando el interpretador. Abre una línea de comandos y ejecuta lo siguiente:

$ node
>

Ahí puedes empezar a escribir expresiones de JavaScript, por ejemplo 1 + 1:

> 1 + 1
2

Para salir de la consola de Node.js oprime Ctrl + D.

La segunda forma de ejecutar código en Node.js es creando un archivo y ejecutándolo. Por ejemplo, crea un archivo llamado app.js y escribe lo siguiente:

console.log("Mi primer programa en Node.js");

Guárdalo y ejecutalo con el siguiente comando:

$ node app.js
Mi primer programa en Node.js

Felicitaciones, has escrito tu primer programa en Node.js!

Algo más interesante

Veamos el siguiente ejemplo que va a crear un archivo en nuestra máquina. Empieza transcribiendo el siguiente programa en un archivo llamado generarArchivo.js:

const fs = require('fs');

fs.writeFile("hola.txt", "Hola Mundo!", (err) => {
  if (err) {
    return console.log(err);
  }

  console.log("El archivo fue creado correctamente");
});

Este código lo copié de Internet, que es la forma más fácil de hacer cualquier cosa en programación ;) Pero si quieres saber qué está haciendo este código acá va.

En la primera línea estamos requiriendo un módulo. Un módulo es como una librería, que nos va a permitir hacer algo específico.

El módulo fs (file system) es el que nos va a permitir manipular archivos. Existen módulos que están incluidos con Node.js (como fs) y otros que puedes utilizar por medio de librerías externas.

Para ejecutar este programa ingresa el comando node generarArchivo.js en la consola, deberías ver el mensaje “El archivo fue creado correctamente”:

$ node generarArchivo.js
El archivo fue creado correctamente

Asegúrate de que se haya creado un archivo llamado nuevo.txt en la misma carpeta donde está el programa y que tenga el siguiente contenido:

Primera línea
Segunda línea

Un servidor Web

Uno de los primeros programas de ejemplo que se muestran cuando se habla de Node.js es un servidor Web. Quizá esa sea la razón por la que muchos que creen que Node.js se usa exclusivamente para crear aplicaciones Web.

Para crear un servidor Web necesitamos el módulo http. Crea un archivo llamado server.js y transcribe el siguiente código:

const http = require('http');

const server = http.createServer((req, res) => {
  res.send('<h1>Hello World<h1>');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://localhost:3000/`);
});

Para ejecutar esta aplicación utiliza el siguiente comando:

$ node server.js
Server running at http://localhost:3000/

Ahora ingresa desde un navegador a http://localhost:3000/. Debes ver el texto “Hola Mundo”.

Para detener el servidor oprime Ctrl + C en la consola.

Librerías con npm

Hasta ahora hemos usado módulos que vienen incluidos con Node.js como fs y http. Sin embargo, el gran poder de Node.js viene de las librerías externas: código que escriben y publican otros desarrolladores y que podemos utilizar en nuestros proyectos.

Las librerías en Node.js se conocen con el nombre de paquetes. Existen paquetes casi para todo lo que te puedas imaginar. Algunos ejemplos incluyen:

  • currency-converter permite realizar conversiones entre monedas.
  • minifier permite minificar archivos de JS y CSS.
  • lorem-ipsum permite generar textos de ejemplo.
  • express permite crear aplicaciones Web.
  • fb permite interactuar con el API de Facebook
  • Entre cientos de miles más!

Node.js viene con un manejador de paquetes llamado npm, que es realmente una aplicación de consola que te va a permitir instalar y manejar los paquetes que se encuentran en el repositorio central de npm.

Por ejemplo, para instalar learnyounode, un paquete que te enseña Node.js, ejecuta el siguiente comando:

$ npm install -g learnyounode

Ahora verifica que haya quedado bien instalado ejecutando el comando learnyounode:

$ learnyounode

Y sigue aprendiendo Node.js!

En la siguiente post vamos a hablar en más detalle de npm y otro manejador de paquetes llamado Yarn.

Conclusión

  • Node.js no es un nuevo lenguaje de programación, es una plataforma que te va a permitir ejecutar código JavaScript por fuera del navegador.

  • Con Node.js puedes crear cualquier programa o aplicación que podrías crear con otro lenguaje de uso general como Java, Ruby, C++ o Python.

  • El gran poder de Node.js se encuentra en las librerías (llamadas paquetes) y en la comunidad de programadores que las escriben y las publican sin costo alguno!

comments powered by Disqus