NodeJS

Que es NodeJS?

Que es NodeJS?

En este tutorial, comenzaremos con Node.js. Conozca algunas de sus características más populares y tratará de motivar a los lectores a adoptar esta maravillosa tecnología para sus proyectos futuros. Como requisito previo, solo necesita estar familiarizado con JavaScript y los conceptos de programación genéricos, como variables, tipos de datos y funciones.

JavaScript tiene una historia extraña. Comenzó como un lenguaje de scripting liviano para navegadores web y fue tratado más como un 'juguete' que como un lenguaje de programación serio. Pero hace mucho que ha superado su humilde comienzo.

La gente comenzó a ampliar sus capacidades cuando el intérprete de JavaScript de Chrome de código abierto de Google: el motor V8. Nodo.js toma este motor de JavaScript y lo extiende para que funcione fuera del ámbito del navegador. Nodo.js vincula JavaScript con la API de su sistema operativo para que pueda ejecutarse de forma nativa en el servidor (o en el caso de un desarrollador, en su escritorio). Sí, esto significa que puede implementar aplicaciones del lado del servidor, aplicaciones de escritorio y mecanismos de back-end aprendiendo solo un idioma: JavaScript.

En pocas palabras, puedes escribir .js archivos que contienen programas escritos en sintaxis JavaScript que serán interpretados por Node.js de la misma manera que .py los archivos con sintaxis válida son interpretados / ejecutados por el intérprete de Python.

Hay más que solo conocer el idioma, sin embargo, Node.js tiene módulos y conceptos desconocidos que requerirían paciencia en un ciclo interminable de aprendizaje de nuevos conceptos. Tiene su propio administrador de paquetes (npm), administrador de versiones (nvm) y el registro de paquetes más grande del mundo. Tenga la seguridad de que la dificultad inicial le facilitará la vida a largo plazo.

Instalación

Actualmente hay dos opciones para Node.js versiones que es posible que desee considerar.

Nos quedaremos con la versión LTS. La descarga de Node del sitio oficial para su sistema operativo también instalaría Node Package Manager (npm). Es difícil hablar de Node.js sin entrar en npm. Regresaremos al administrador de paquetes más adelante. Si está usando Ubuntu o cualquier otra distribución de Debian, simplemente use:

$ sudo apt install nodejs

Para todos los binarios y el código fuente, visite la página de descarga oficial.

Eso es todo con la instalación, es hora de decir "Hola, mundo!"

Hola Mundo! Y creando un servidor

Como prometimos, crearemos un Hola.js archivo y ejecútelo usando Node. En un archivo de texto sin formato, llamado Hola.js, escribimos la siguiente línea:

consola.log ("Hola, mundo!”);

Ahora guarde el archivo y abra una terminal en el mismo directorio que ese archivo y ejecute el siguiente comando:

$ nodo hola.js
# O puedes correr
$ nodo hola

Esto le dará la salida deseada de "Hola Mundo". Como JavaScript vainilla. Pero seguramente, podemos hacerlo mejor ..

A diferencia de las aplicaciones basadas en PHP que requieren Apache o Nginx o algún otro programa de servidor web para ejecutarse, en el nodo escribimos nuestras propias rutas http, configuramos los puertos y los nombres de host y procesamos las solicitudes HTTP para dar las respuestas adecuadas.

Parece mucho trabajo, pero es solo un obstáculo inicial en la curva de aprendizaje, y una vez que se familiarice con las cosas, podrá comprender las aplicaciones web con mayor profundidad que nunca. Creemos un servidor web que escuche en el puerto 3000 en localhost y devuelva un archivo de texto como respuesta. Crea un archivo aplicación.js con el siguiente contenido:

const http = require ('http');
const hostname = '127.0.0.1 ';
puerto constante = 3000;
servidor constante = http.createServer ((req, res) =>
res.statusCode = 200;
res.setHeader ('Content-Type', 'text / plain');
res.end ('Hola mundo \ n');
);
servidor.escuchar (puerto, nombre de host, () =>
consola.log ('Servidor ejecutándose en http: // $ nombre de host: $ puerto /');
);

Antes de entrar en los detalles del código, guarde este archivo y abra una terminal en el mismo directorio que el archivo, luego ejecute:

$ aplicación de nodo

Esto ejecutará el contenido de aplicación.js archivo y obtendrá un resultado de la siguiente manera:

Abra un navegador web y visite http: // localhost: 3000 / o http: // 127.0.0.1: 3000 / para ver un texto simple de Hello World en la ventana de su navegador.

Entonces, ¿qué acabamos de hacer?? Bueno, si está familiarizado con JavaScript, probablemente pueda entender algo de eso ..

La primera linea importa el módulo http, que es un módulo incorporado que viene junto con Node, y nos ayuda a escuchar las solicitudes en los sockets web, procesar las solicitudes http y dar las respuestas adecuadas.

La segunda y tercera línea establece el nombre de host a «127.0.0.1 ' y Puerto  a 3000. Esto significa que podemos seguir reutilizando la variable nombre de host y Puerto, en lugar de escribir la dirección IP completa. Más adelante, cuando lo esté implementando en un servidor, lo reemplazará con la dirección IP del servidor y un número de puerto como 80 o 443 si es un servidor web. La palabra clave constante asegura que la variable no se pueda cambiar en otra parte del programa.

La líneas cuatro a ocho  crea un objeto de servidor que toma la solicitud como req y da respuesta como res.

La respuesta tiene un atributo statusCode, el res.código de estado que se establece en 200, que el cliente interpreta como estado "Okay". Los códigos de error son 400 y 500, por ejemplo, el error 404 es el código del recurso no encontrado. Del mismo modo, el atributo setHeader se establece en 'text / plain', lo que significa que el cliente recibirá texto sin formato. Puede configurar esto en HTML y su navegador mostrará cualquier html válido con el que el servidor responda. Y el final atributo es simplemente el texto que queremos devolver. En lugar de tener una cadena aquí, las aplicaciones del mundo real tendrán un archivo HTML estático u otro .js archivo para el navegador del cliente, que constituiría una respuesta mucho más útil.

Finalmente, el últimas tres líneas inicia el servidor e imprime un mensaje que dice que está activo en un nombre de host específico y número de puerto según lo establecido por constante declaraciones, inicialmente. Cada vez que entra una nueva solicitud en el nombre de host especificado: el servidor de combinación de puertos responde con las respuesta objeto.

Lo que implica?

No es necesario que comprenda el código anterior en su totalidad para conocer las implicaciones. Ya tenemos JavaScript en el front-end gracias a marcos increíbles como Angular y React. Junto con eso, también tenemos funcionalidades de back-end integradas en Node.js ethos.

Marcos web como Express.js puede ayudarlo a escribir aplicaciones aún más complejas sobre Node.js. La obtención de datos de la base de datos, la creación de API y la interfaz de usuario de front-end se pueden escribir en un solo idioma.

El poder de V8

A pesar de que todo es un solo idioma, todavía queda mucho por aprender. Los diferentes marcos y módulos tienen diferentes funcionalidades. Hay una tonelada de versiones para realizar un seguimiento. Entonces, ¿hay algún otro beneficio de usar el nodo.ecosistema js.

Uno de los argumentos más importantes que lo respaldan es que el motor V8 tiene un excelente soporte para E / S asíncronas y sin bloqueo. Lo que básicamente significa que un solo proceso que se ejecuta en la memoria de su sistema puede manejar múltiples solicitudes entrantes. la primera solicitud aún no ha terminado.

Además, un solo proceso que se ejecuta en su memoria es responsable de manejar todas las solicitudes entrantes. A diferencia de las aplicaciones basadas en PHP que genera un nuevo proceso para cada nueva solicitud entrante.

Con suerte, esta introducción fue suficiente para motivarte acerca de Node.js. Sepamos si desea tutoriales más detallados sobre temas similares siguiéndonos en Twitter, Facebook y YouTube.

Tutorial de Battle for Wesnoth
The Battle for Wesnoth es uno de los juegos de estrategia de código abierto más populares que puedes jugar en este momento. Este juego no solo ha esta...
0 A.D. Tutorial
De los muchos juegos de estrategia que existen, 0 A.D. logra destacarse como un título completo y un juego táctico muy profundo a pesar de ser de códi...
Tutorial de Unity3D
Introducción a Unity 3D Unity 3D es un potente motor de desarrollo de juegos. Es multiplataforma, es decir, te permite crear juegos para dispositivos ...