Nodo.JS (Node.JS)

Node.js es un tiempo de ejecución de JavaScript multiplataforma de código abierto que se ejecuta en servidores. Desde su lanzamiento en 2009, esta plataforma se ha vuelto extremadamente popular y juega un papel muy importante en el campo del desarrollo web en estos días.
Para ver el artículo completo en Node.JS ...

Mostrar filtro
Filtros de alojamiento
A2 Themes & Host Me Filter

Sistema operativo

Espacio del disco

Memoria RAM

Tipo de disco

Núcleos de CPU

Ordenar

Puntuación - 0
RedSwitches Logo
RedSwitches

RedSwitches

Pearl
$6.94 /Mensual


Ubicaciones del servidor


RedSwitches Servers in NetherlandsPaíses Bajos RedSwitches Servers in UnionEstados Unidos RedSwitches Servers in MelbourneAustralia RedSwitches Servers in MumbaiIndia RedSwitches Servers in GermanyAlemania
Comparar
Puntuación - 0
Hostarina Logo
Hostarina

Hostarina

Personal
$2.92 /Mensual


Ubicaciones del servidor


Hostarina Servers in UnionEstados Unidos Hostarina Servers in RawalpindiPakistán Hostarina Servers in MunichAlemania
Comparar
Puntuación - 0
Net9 Oy Logo
Net9 Oy

Net9 Oy

Small
$1.13 /Mensual


Ubicaciones del servidor


Net9 Oy Servers in StockholmSuecia Net9 Oy Servers in HelsinkiFinlandia Net9 Oy Servers in ParisFrancia
Comparar
Puntuación - 0
Heroku Logo
Heroku

Heroku

Hobby
$7 /Mensual


Ubicaciones del servidor


Heroku Servers in United StatesEstados Unidos
Comparar
Puntuación - 0
Awareindia.net Logo
Awareindia.net

Awareindia.net

Linux Hosting Plan G
$5.83 /Mensual

Comparar
Puntuación - 0
Chemi Cloud Logo
Chemi Cloud

Chemi Cloud

Ionic
$2.95 /Mensual


Ubicaciones del servidor


Chemi Cloud Servers in BangaloreIndia Chemi Cloud Servers in New YorkEstados Unidos Chemi Cloud Servers in BucharestRumania Chemi Cloud Servers in LondonReino Unido Chemi Cloud Servers in AmsterdamPaíses Bajos Chemi Cloud Servers in TorontoCanadá Chemi Cloud Servers in SydneyAustralia
Comparar
Puntuación - 0
Oudel Logo
Oudel

Oudel

cPanel Hosting 1
$5.95 /Mensual


Ubicaciones del servidor


Oudel Servers in UnionEstados Unidos
Comparar

 

Node.js

 

 

Node.js es un tiempo de ejecución de JavaScript multiplataforma de código abierto que se ejecuta en servidores. Desde su lanzamiento en 2009, esta plataforma se ha vuelto extremadamente popular y juega un papel muy importante en el campo del desarrollo web en estos días. Si consideramos la cantidad de estrellas que un proyecto ha recolectado en GitHub como un indicador de popularidad, entonces Node.js, que tiene más de 50,000 estrellas, es un proyecto muy, muy popular.

 

La plataforma Node.js se basa en el motor JavaScript V8 de Google, que se utiliza en el navegador Google Chrome. Esta plataforma se utiliza principalmente para crear servidores web, pero su alcance no se limita a esto.

 

Veamos las características principales de Node.js.

 

Velocidad

 

Uno de los principales atractivos de Node.js es la velocidad. El código JavaScript ejecutado en Node.js puede ser dos veces más rápido que el código escrito en lenguajes compilados como C o Java, y órdenes de magnitud más rápido que lenguajes interpretados como Python o Ruby. La razón de esto es la arquitectura sin bloqueo de la plataforma, y ​​los resultados específicos dependen de los puntos de referencia utilizados, pero en general, Node.js es una plataforma muy rápida.

 

Sencillez

 

La plataforma Node.js es fácil de aprender y usar. De hecho, es francamente muy simple, especialmente en comparación con otras plataformas de servidor.

 

JavaScript

 

JavaScript se ejecuta en el entorno Node.js. Esto significa que millones de desarrolladores front-end que ya usan JavaScript en el navegador pueden escribir código tanto del lado del servidor como del lado del cliente en el mismo lenguaje de programación sin tener que aprender una herramienta completamente nueva para pasar al desarrollo del lado del servidor.

 

El navegador y el servidor utilizan los mismos conceptos de lenguaje. Además, Node.js puede realizar una transición rápida a los nuevos estándares ECMAScript a medida que se implementan en la plataforma.

 

No es necesario esperar a que los usuarios actualicen sus navegadores para esto, ya que Node.js es un entorno del lado del servidor que tiene el control total del desarrollador. Como resultado, las nuevas funciones de idioma están disponibles cuando instala una versión compatible de Node.js.

 

Motor V8

 

En el corazón de Node.js, entre otras soluciones, se encuentra el motor JavaScript V8 de código abierto de Google, que se utiliza en Google Chrome y otros navegadores. Esto significa que Node.js se está aprovechando de miles de ingenieros que hicieron que el tiempo de ejecución de JavaScript Chrome fuera increíblemente rápido y continúan trabajando para mejorar V8.

 

Asincronía

 

En los lenguajes de programación tradicionales (C, Java, Python, PHP), todas las instrucciones se bloquean de forma predeterminada, a menos que el desarrollador se encargue explícitamente de ejecutar el código de forma asincrónica. Como resultado, si, por ejemplo, en un entorno de este tipo, realiza una solicitud de red para descargar algún código JSON, la ejecución del flujo desde el que se realiza la solicitud se suspenderá hasta que se reciba y procese la respuesta.

 

JavaScript hace que sea mucho más fácil escribir código asincrónico y sin bloqueo utilizando un solo hilo, devoluciones de llamada y un enfoque de desarrollo basado en eventos. Cada vez que necesitamos realizar una operación pesada, pasamos una devolución de llamada al mecanismo apropiado, que será llamado inmediatamente después de completar esta operación. Como resultado, no es necesario esperar los resultados de dichas operaciones para que el programa continúe funcionando.

 

Un mecanismo similar se originó en los navegadores. No podemos permitirnos el lujo de esperar, digamos, unaAJAXsolicitar terminar sin poder responder a las acciones del usuario, como los clics en los botones. Para que sea conveniente para los usuarios trabajar con páginas web, todo, tanto la descarga de datos de la red como el procesamiento de clics en los botones, debe ocurrir simultáneamente, en tiempo real.

 

Si alguna vez ha creado un controlador de eventos de clic de botón, ya ha utilizado técnicas de programación asincrónica.

 

Los mecanismos asincrónicos permiten que un solo servidor Node.js maneje simultáneamente miles de conexiones sin sobrecargar al programador con tareas de administración de subprocesos y ejecución de código paralelo. Tales cosas son a menudo fuentes de error.

 

Node.js proporciona al desarrollador mecanismos de E / S básicos sin bloqueo y, en general, las bibliotecas utilizadas en el marco de Node.js se escriben utilizando paradigmas sin bloqueo.Esto hace que el comportamiento de bloqueo sea la excepción y no la norma.

 

Cuando Node.js necesita realizar una operación de E / S, como cargar datos de la red, acceder a una base de datos o al sistema de archivos, en lugar de bloquear el hilo principal esperando los resultados de dicha operación, Node.js iniciará su ejecución y continuar haciendo otras cosas hasta que se reciban los resultados de esta operación.

 

Bibliotecas

 

Con la facilidad y conveniencia de trabajar con un administrador de paquetes para Node.js llamado npm, el ecosistema de Node.js está prosperando. Ahora hay más de medio millón de paquetes de código abierto en el registro de npm que cualquier desarrollador de Node.js puede usar libremente.

 

Habiendo revisado algunas de las características principales de la plataforma Node.js, probémoslo en acción. Empecemos por la instalación.

 

 

Node.js

 

 

Instalación de Node.js

 

Node.js se puede instalar de varias formas, que cubriremos en un momento. Por lo tanto, se pueden encontrar los paquetes de instalación oficiales para todas las plataformas principales.

 

Hay otra forma muy conveniente de instalar Node.js, que consiste en usar el administrador de paquetes provisto en el sistema operativo. Por ejemplo, el administrador de paquetes de macOS, que es el estándar de facto en esta área, se llama Homebrew.

 

Si tiene uno en su sistema, puede instalar Node.js ejecutando este comando en la línea de comando:

 

brew install nodo

 

Puede encontrar una lista de administradores de paquetes para otros sistemas operativos, incluidos Linux y Windows, aquí.

 

Un administrador de versiones popular de Node.js es nvm. Esta herramienta le permite cambiar cómodamente entre diferentes versiones de Node.js, con su ayuda puede, por ejemplo, instalar y probar una nueva versión de Node.js, y luego, si es necesario, volver a la anterior. Nvm también es útil en una situación en la que necesita probar algún código en una versión anterior de Node.js.

 

Para que los principiantes utilicen los instaladores oficiales de Node.js. Para los usuarios de macOS, se recomendaría instalar Node.js usando Homebrew. Ahora que ha instalado Node.js, es hora de escribir "Hola mundo".

 

Primera aplicación de Node.js

 

El ejemplo más común de una primera aplicación Node.js es un servidor web simple. Aquí está su código:

const http = require ('http')

const hostname = '127.0.0.1'

puerto constante = 3000

const server = http.createServer ((req, res) = & gt; {

res.statusCode = 200

res.setHeader ('Tipo de contenido', 'texto / sin formato')

res.end ('Hola mundo \ n')

})

server.listen (puerto, nombre de host, () = & gt; {

console.log (`Servidor que se ejecuta en http: // $ {nombre de host}: $ {puerto} /`)

})

 

Para ejecutar este código, guárdelo en un archivo server.js y ejecute el siguiente comando en la terminal:

 

node server.js

 

Para verificar el servidor, abra un navegador e ingrese en la barra de direcciones http://127.0.0.1:3000, es decir, la dirección del servidor que se mostrará en la consola después de su lanzamiento exitoso. Si todo funciona como debería, la página mostrará "Hello World".

 

Veamos este ejemplo.

 

Primero, observe que el código contiene el comando para conectar el módulo HTTP.

 

La plataforma Node.js tiene un excelente conjunto estándar de módulos, que incluye mecanismos bien desarrollados para trabajar con la red.

El método de objeto createServer () http crea un nuevo servidor HTTP y lo devuelve.

 

El servidor está configurado para escuchar en un puerto específico en un host específico. Cuando el servidor está listo, se llama a la devolución de llamada correspondiente, informándonos que el servidor se está ejecutando.

Cuando el servidor recibe una solicitud, se activa una solicitud de evento que proporciona dos objetos. La primera es la solicitud (req, el objeto http.IncomingMessage), la segunda es la respuesta (res, el objeto http.ServerResponse). Son los mecanismos más importantes para manejar solicitudes HTTP.

 

El primero nos proporciona información sobre la solicitud. En nuestro ejemplo simple, no usamos estos datos, pero, si es necesario, usando el objeto, req, puede acceder a los encabezados de solicitud y los datos que se pasan en él.

 

El segundo es necesario para formar y enviar una respuesta a una solicitud.

 

En este caso, formamos la respuesta a la solicitud de la siguiente manera. Primero, establecemos el código de estado de la propiedad en un valor de 200, lo que indica una operación exitosa:

 

res.statusCode = 200

A continuación, establecemos el título Content-Type:

res.setHeader ('Tipo de contenido', 'texto / sin formato')

Luego completamos la preparación de la respuesta agregando su contenido como argumento al método end ():

res.end ('Hola mundo \ n')

 

Ya hemos mencionado que se ha formado un poderoso ecosistema alrededor de la plataforma Node.js. Analicemos ahora algunos frameworks populares y herramientas auxiliares para Node.js.

 

Frameworks y herramientas auxiliares para Node.js

 

Node.js es una plataforma de bajo nivel. Con el fin de simplificar su desarrollo y facilitar la vida de los programadores, se han creado una gran cantidad de bibliotecas. Algunos de ellos se han vuelto muy populares con el tiempo. Aquí hay una pequeña lista de bibliotecas que creo que están bien hechas y que vale la pena explorar:

 

Rápido: Esta biblioteca proporciona al desarrollador una herramienta extremadamente simple pero poderosa para construir servidores web. La clave del éxito de Express ha sido un enfoque minimalista y un enfoque en los mecanismos básicos del lado del servidor sin intentar imponer una visión de una arquitectura de servidor de "ventanilla única".

 

Meteorito: Es un potente marco de trabajo de pila completa que adopta un enfoque isomórfico para desarrollar aplicaciones JavaScript y utilizar código tanto en el cliente como en el servidor. Once Meteor era una herramienta independiente que incluye todo lo que un desarrollador podría necesitar. Ahora también se integra con bibliotecas frontend como React, Vue y Angular. Meteor, además de desarrollar aplicaciones web comunes, también se puede utilizar en el desarrollo móvil.

 

Koa: Este marco web está construido por el mismo equipo detrás de Express. Sobre la base de años de experiencia con Express, se desarrolló con un enfoque en la simplicidad y la compacidad. Este proyecto surgió como una solución al problema de realizar cambios importantes en Express que son incompatibles con otros mecanismos marco que podrían dividir a la comunidad.

 

Next.js: Este marco está diseñado para organizar la representación del lado del servidor de aplicaciones React.

 

Micro: Es una biblioteca muy ligera para crear microservicios HTTP asíncronos.

Socket.io. Es una biblioteca para desarrollar aplicaciones de red en tiempo real.

 

De hecho, en el ecosistema Node.js, puede encontrar una biblioteca auxiliar para casi cualquier tarea. Como puede imaginar, se necesita mucho tiempo para construir un ecosistema de este tipo. La plataforma Node.js apareció en 2009. Durante su existencia, han sucedido muchas cosas que deberían ser conocidas por un programador que quiera aprender esta plataforma.

 

Una breve historia de Node.js

 

Node.js cumple 9 años este año. Esto, por supuesto, no es tanto cuando se compara esta edad con la edad de JavaScript, que ya tiene 23 años, o con la edad de 25 años de la web como la conocemos si se cuenta desde la llegada del Mosaico. navegador.

 

9 años es poco tiempo para la tecnología, pero ahora parece que la plataforma Node.js siempre ha existido.

 

Con Node.js de las primeras versiones de la plataforma cuando solo tenía 2 años. Incluso entonces, a pesar de que no había tanta información sobre Node.js, ya se podía sentir que Node.js es muy serio.

 

Ahora hablemos de las tecnologías detrás de Node.js y echemos un vistazo rápido aprincipales novedades relacionadas con esta plataforma.

 

Por tanto, JavaScript es un lenguaje de programación que se creó en Netscape como lenguaje de scripting para manipular páginas web en el navegador Netscape Navigator.

Parte del negocio de Netscape consistía en vender servidores web, que incluían un entorno llamado Netscape LiveWire. Le permitió crear páginas web dinámicas utilizando JavaScript del lado del servidor.

 

la idea de usar JS para el desarrollo del lado del servidor es mucho más antigua que Node.js. Esta idea es casi tan antigua como JavaScript, pero en el momento en cuestión, JS del lado del servidor no era popular.

 

Uno de los factores clave que hicieron que la plataforma Node.js fuera tan extendida y popular es cuando apareció por primera vez. Entonces, unos años antes, JavaScript había comenzado a considerarse un lenguaje serio. Esto sucedió gracias a aplicaciones Web 2.0 como Google Maps o Gmail, que mostraron al mundo el poder de las tecnologías web modernas.

 

Gracias a la guerra competitiva de navegadores, que continúa hasta el día de hoy, el rendimiento de los motores JavaScript ha aumentado significativamente. Los equipos de desarrollo detrás de los principales navegadores están trabajando todos los días para mejorar el rendimiento de sus soluciones, lo que tiene un efecto beneficioso sobre JavaScript en general.

 

Uno de estos motores es el V8 ya mencionado, que se utiliza en el navegador Chrome y se utiliza en Node.js. Es uno de los resultados de los desarrolladores de navegadores que se esfuerzan por obtener un código JavaScript de alto rendimiento.

 

Por supuesto, la popularidad de Node.js se basa no solo en una afortunada coincidencia y en el hecho de que la plataforma nació en el momento adecuado. Presentó al mundo un enfoque innovador para el desarrollo de JavaScript en el lado del servidor. Veamos los principales hitos en la historia de Node.js.

 

2009


  • La aparición de Node.js

  • Haciendo la primera variante npm.

 

2010

  • La aparición de Express.

  • La aparición de Socket.io.

 

2011


  • Lanzamiento de Npm 1.0.

  • Grandes empresas como LinkedIn y Uber han comenzado a utilizar Node.js.

 

2012


  • El rápido aumento de la popularidad de Node.js.

 

2013


  • La aparición de Ghost, la primera plataforma importante para publicaciones que utilizan Node.js.

  • Lanzamiento de Koa.

 

2014


  • Este año han tenido lugar eventos dramáticos. Apareció el proyecto IO.js, que es una bifurcación de Node.js, cuyo propósito, entre otras cosas, era introducir el soporte ES6 y acelerar el desarrollo de la plataforma.

 

2015


  • Se funda la Fundación Node.js.

  • Fusionando IO.js y Node.js.

  • En npm, es posible trabajar con módulos privados.

  • Rendimiento Node.js 4 (cabe señalar que las versiones 1, 2 y 3 de la plataforma no lo fueron).

 

2016


  • Incidente del paquete de la almohadilla izquierda.

  • La aparición de Yarn.

  • Lanzamiento de Node.js 6.

 

2017


  • Npm está empezando a prestar más atención a la seguridad.

  • Versión de Node.js 8

  • La aparición del soporte para HTTP / 2.

  • V8 está oficialmente reconocido como un motor JS diseñado no solo para Chrome sino también para Node.

  • Hay 3 mil millones de descargas de npm cada semana.

 

2018


  • Lanzamiento de Node.js 10.

  • Soporte para módulos ES.

  • Soporte experimental de mjs.