Node.js is loading...

Empieza el semestre y este año en una asignatura vamos a utilizar Node.js para crear un proyecto y su respectiva API. Mi intención es hacer una especie de guía junto al proyecto para poder recordar en un futuro como se utilizaba Node.js. Así que en principio vamos a ver lo más básico de Node.js para ir aprendiendo y  poder repasar las bases en su momento.

Lo primero es saber : ¿Qué es Node.js?

El actual problema de los servidores programados en Java y PHP es que en cada conexión crean un proceso y este puede llegar a reservar 2 MB de RAM por proceso. Suponiendo eso podemos suponer que con una cantidad X de usuarios paralelos en el sistema podemos llegar a bloquearlo o ralentizarlo.
Esto es lo que pretende solucionar Node.js.
Node.js Node pretende permitir crear un backend rápido y escalable. Para ello dispara la ejecución de un evento dentro del proceso del motor de Node cada vez que existe una conexión . Node afirma que un servidor que lo ejecute puede soportar decenas de miles de conexiones concurrentes esto es gracias a que una de sus propiedades principales. Node es asíncrono y es asíncrono porque utiliza como lenguaje principal JavaScript.
Node ejecuta V8 JavaScript. El motor V8 JavaScript es el motor JavaScript subyacente que Google usa con su navegador Chrome. Con el V8, Google creó un intérprete ultra-rápido escrito en C++, con otro aspecto único: se puede descargar el motor e incorporarlo a cualquier aplicación que desees. No está restringido a ejecutarse en un navegador. Así, Node en realidad usa el motor V8 JavaScript escrito por Google y le da otro propósito para usarlo en el servidor.
Node trabaja el concepto de módulos, el cual se pueden agregar a su núcleo interno. Literalmente hay cientos de módulos de los que se puede escoger con Node, y la comunidad es bastante activa en cuanto a producir, publicar y actualizar docenas de módulos por día. Hablaremos sobre toda la parte de módulos de Node más adelante.
Otra gran diferencia respecto a lo normal es que Node no utiliza programación orientada a objetos sino a eventos. Es decir que el lado del cliente y el servidor no son tan diferentes.
Después de introducir que es Node vamos a empezar con esta guía.
Lo primero será instalar Node. En mi caso utilizaré Windows 10 o Ubuntu 14.04 así que voy a explicar un poco como se puede instalar o donde encontrar el tutorial perfecto para poder instalarlo. En el caso de Ubuntu tenemos  un tutorial precioso aquí . Como se que tenéis siempre mucha prisa voy a intentar hacer un resumen de comandos.

Ubuntu 14.04
curl -sL https://deb.nodesource.com/setup | sudo bash -  #Añadir la libreria de donde conseguiremos node.js. 
sudo apt-get install nodejs                              #Instalar node.js
sudo ln -s /usr/bin/nodejs /usr/bin/node                 #Crear un hipervínculo para poder utilizar el comando node
node -v                                                  #Comprobar la versión de node.js
npm-v                                                    #Comprobar la versión de instalador de paquetes de node.js
En el caso de querer instalar Node en Windows lo tenemos más fácil todavía. Solo tenemos que entrar en la página oficial  de Node.js, descargar la última versión y ejecutarla.
Dentro de la propia página podrás ver la documentación oficial que será útil en más de una ocasión.
Ahora podemos empezar a tocar cosas de Node.js. Para poder empezar con ello solo necesitamos poner node en el terminal (Powershell en el caso de Windows) y entraremos en una consola interna de Node.js. Aquí os dejo una captura de como es el acceso.
  Windows 10
 Ubuntu 14.04
Para poder salir de la consola utilizamos Ctrl+d.
Como he comentado antes, Node.js es tan interesante gracias a la posibilidad de añadir módulos fácilmente. Esta funcionalidad te lo da el Node Package Manager(npm). Gracias a npm podemos instalar módulos fácilmente en nuestro proyecto y exportarlos más fácil todavía. Como habéis podido ver durante la instalación Node.js y npm se instalan a la vez ya que no se entiende Node.js sin npm. Os dejo algunos comandos que son interesantes para npm:
  • npm init  (Te permite crear, modificar o borrar el archivo package.json que será el archivo que recoja las dependencias de tu proyecto).
  • npm install (En el caso de estar en un proyecto importado en el que no tienes los módulos te permite instalar las dependencias a partir del package.json).
  • npm install <nombre-del-módulo> (Instala el módulo, con --save o -S se guarda la dependencia en package.json).
  • npm uninstall <nombre-del-módulo> (Desinstala un módulo, con --save o -S se guarda la dependencia en package.json).
  • npm info <nombre-del-módulo> (Te muestra la información de un módulo).
  • npm ls (Lista los módulos de un proyecto).

  • npm outdated (Muestra si hay versiones más modernas de los módulos que tienes instalados).
  • npm config list (Muestra la configuración de npm que se está utilizando).
Esto es lo más básico de Node.js. Dentro de poco empezaré la guía con la idea del proyecto que voy a realizar. Hasta la próxima :D  ...

Fuentes:

Clases de la Universidad

Comentarios

Entradas populares de este blog

Opinión sobre MIT App Inventor vs Android Studio

Atasco solucionado (sed)