La pregunta que todos nos hacemos llegado el momento, ¿Que es NODE?

NodeJs

Es principalmente una plataforma de desarrollo de aplicaciones web para JavaScript que sacó a este lenguaje del navegador. (FrontEnd)

Permite la utilización de JavaScript en el servidor y no solo en el navegador, para ello utiliza el motor V8 de Google para JavaScript.

V8 es un entorno de ejecución para JavaScript creado para Google Chrome. Es software libre desde 2008, está escrito en C++ y compila el código fuente JavaScript en código de máquina en lugar de interpretarlo en tiempo real.

Un poco de teoría

Trabaja con un único hilo de ejecución y utilizando entradas y salidas asíncronas que pueden ejecutarse de forma concurrente hasta un número muy alto de ellas sin que esto genere algún costo provocado por cambios de contexto. El poder compartir un mismo hilo de ejecución, favorece a las aplicaciones de alta concurrencia; pero éstas deben poseer una función de callback, si realizan operaciones de entrada y salida.

Es utilizado no solo como plataforma de desarrollo con el lenguaje JavaScript, sino que también se emplea para el desarrollo de:

  • Servicios Web.
  • ShellScript:
    • Para automatización de tareas del lado del servidor.
    • Envío de notificaciones a aplicativos clientes.
    • Scripts para tareas específicas en el servidor, por ejemplo, la realización de respaldos.
  • Aplicaciones con la terminal.
  • Desarrollo de APIS para consumo de aplicaciones con JavaScript.
Mayor velocidad desde el servidor a la nube

Es utilizada en conjunto con otras herramientas o Stack de Tecnologías: MEAN

MEAN = Mongo + Express + Angular + NODE

Todos estos relacionados o provenientes de JavaScript:

Mongo usa el formato json que proviene de JavaScript.

MongoDB, ExpressJs, Angular, Node

¿Por qué utilizar NODE?

Es una nueva tecnología y en esta área es fundamental estar al día con los avances tecnológicos.

Es utilizada por grandes empresas, esto significa que encontraron muchas razones para utilizarlo y que han probado a gran escala.

Eligen esta tecnología por ser la mejor para ciertas áreas específicas que ya han identificado.

Grandes Empresas que lo utilizan:

  • Uber.
  • Wikipedia
  • Midia
  • Flipboard
  • Trello.

Ventaja

Podemos considerarlo como maduro o desarrollado ya que tiene versión estable, la comunidad de JavaScript es bastante activa.

Está construido para trabajar de forma asíncrona y posee arquitecturas de muchas acciones de entrada y salida (input/output), es utilizado para aplicaciones en tiempo real, chats, juegos con multijugador, manejo de notificaciones.

Funciona muy bien con bases de datos relacionales y no-relacionales.

La utilización del mismo lenguaje en toda la pila del desarrollo, fontend, backend, etc, optimiza la comunicación entre módulos, estandariza la misma. Incrementa al máximo la velocidad de ejecución.

Posee su propio manejador de paquetes: npm. Es el número 1 en cantidad de paquetes manejados.

Su ejecución e Instalación en mi PC:

Solo debe descargarse desde el sitio web:

https://nodejs.org

Posee su paquete de instalación guiada y durante su ejecución, se debe observar y si es posible, guardar la ruta de instalación de NODE.

Esta ruta debe estar entre las variables de entorno del sistema y para verificar su correcta instalación basta con abrir una consola y ejecutar el siguiente comando:

node -v

Si todo esta correcto, la consola nos mostrará la versión que esta instalada.

Alternativas a la instalación de NODE en tu PC:

Creación de una consola en el navegador utilizando opciones como:

https://codepicnic.com

Con esta opción, al crearte una cuenta, podrán crear una consola y realizar una instalación de NODE utilizando NPM.

Montando el primer servidor – Local

Validamos nuestro entorno para correr el lenguaje JavaScript, con el comando siguiente como lo explique con anterioridad, ejecutamos el comando:

node -v

Utilizando la consola, nos dirigimos al directorio de trabajo o a la ruta en la que tengo mis archivos JavaScript (.js) y procedemos a crear nuestro acostumbrado “Hola Mundo”.

Este será el código para nuestro Hola Mundo: Creamos un archivo de texto nuevo y le colocamos como nombre “hello.js”

Contenido del archivo:

var http = require(“http”); //Se importa la librería http ya que la necesitamos para crear nuestro servidor

var manejador = function(solicitud, respuesta){ //creamos un manejador de solicitudes y respuestas 

    console.log(“Hemos recibido una solicitud”); // respuesta vía consola

    respuesta.end(“Hola Mundo”); // con el objeto “respuesta” enviamos una respuesta al navegador

};

var servidor = http.createServer(manejador); // creamos nuestro objeto servidor.

servidor.listen(8080);  // Señalamos un puerto para que no tenga problemas con otra que utilice el mismo puerto.

Vamos a nuestro navegador, como ésta es una prueba local, es decir en nuestro computador, utilizaremos la siguiente dirección:

http://localhost:8080

para poder ver una respuesta de nuestro servidor, debemos poner a correr nuestro archivo de NODE.

Para ello vamos a la consola y escribimos lo siguiente:

node hello.js

Según el código que hemos hecho, deberíamos ver lo siguiente:

  • En nuestro navegador: Hola Mundo
  • En la consola: Hemos recibido una solicitud

A nuestro navegador enviamos el texto “Hola Mundo” por medio del objeto respuesta, utilizando el método end.

Historia:

  • Fue creado por Ryan Dahl en 2009 y su evolución está apadrinada por la empresa Joyent, que además tiene contratado a Dahl en plantilla.
  • Es software libre desde 2008, está escrito en C++ y compila el código fuente JavaScript en código de máquina en lugar de interpretarlo en tiempo real.

Referencias:

  • https://nodejs.org/es/
  • https://es.wikipedia.org/wiki/Node.js
  • https://codigofacilito.com/

Despido este artículo acotando que serán realizadas próximas publicaciones para continuar este tema tan interesante y extenso como lo es NodeJs, no dejen de leerlos.

0 Comments

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>