100% encontró este documento útil (1 voto)
99 vistas9 páginas

Introducción a Node.js

Node.js es un intérprete de JavaScript que se ejecuta en el servidor y está basado en el motor V8 de Chrome. Permite usar JavaScript tanto en el frontend como en el backend, y es asíncrono y orientado a eventos. Los módulos permiten compartir código y crear aplicaciones modulares. El módulo http de Node.js permite implementar servidores web que escuchen peticiones HTTP y respondan con contenido.

Cargado por

Diego Tapia
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
99 vistas9 páginas

Introducción a Node.js

Node.js es un intérprete de JavaScript que se ejecuta en el servidor y está basado en el motor V8 de Chrome. Permite usar JavaScript tanto en el frontend como en el backend, y es asíncrono y orientado a eventos. Los módulos permiten compartir código y crear aplicaciones modulares. El módulo http de Node.js permite implementar servidores web que escuchen peticiones HTTP y respondan con contenido.

Cargado por

Diego Tapia
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Qué es nodejs

 NodeJS es un intérprete de JavaScript que se ejecuta en servidor.


 Está basado en el motor de JavaScript que utiliza Google Chrome (V8), escrito en C++

Características principales

 El tener el mismo lenguaje en cliente y servidor


 Permite a cualquier persona desarrollar en backend o en frontend
 Permite reusar código o incluso mover código de cliente a servidor o al revés

 Está orientado a eventos y utiliza un modelo asíncrono (propio de JavaScript).

 Al contrario que en el navegador, encontramos muchas llamadas asíncronas:


 Llamadas a APIs.
 Lectura y escritura de ficheros.
 Ejecución de cálculos en el servidor.

 Llamadas síncronas en servidor serían fatales:


 ¡Bloqueariamos las conexiones al servidor hasta que acabase la instrucción
bloqueante!
 Al ser asíncrono podremos tener muchas sesiones concurrentes.

 Es monohilo
 Utiliza un solo procesador
 Si queremos usar toda la potencia de la CPU, tendremos que levantar varias
instancias de node y utilizar un balanceador de carga (por ejemplo con pm2).
Instalación de NodeJS

Lo primero que haremos es instalar el [Link] (Hay una versión recomendada y es la que
debemos instalar).

Verificar la instalación de nodejs, ejecutar el comando CMD para abrir la consola, y


ejecutar el siguiente comando: node --version
Con la instalación de nodejs, también se instala el gestor de paquetes npm, para verificar :
npm –version

Módulos en [Link]

La primera gran diferencia en el JavaScript que se utiliza en [Link] es el


concepto de módulo. Sabemos que cuando nuestra aplicación comienza a crecer
un único archivo es imposible de manejar todas las funcionalidades, lo mismo
ocurre con librerías desarrolladas por otros programadores.

Un módulo contiene funciones, objetos, variables donde indicamos cuales serán


exportados para ser utilizados por otros programas.

En [Link], un módulo es un conjunto de funciones y objetos de JavaScript que


las aplicaciones externas pueden usar. La descripción de un fragmento de código
como módulo se refiere menos a lo que es el código que a lo que hace; cualquier
archivo de [Link] o colección de archivos puede considerarse un módulo si sus
funciones y datos se pueden utilizar en programas externos.
Debido a que los módulos proporcionan unidades de funciones que pueden
reutilizarse en muchos programas más grandes, permiten crear aplicaciones
acopladas libremente que se adaptan a la complejidad y que pueda compartir su
código con otros desarrolladores. Ser capaz de escribir módulos que exporten
funciones y datos útiles, le permitirá hacer aportes a la comunidad de [Link] más
amplia. De hecho, todos los paquetes que utilice en npm se agrupan y se
comparten como módulos. Esto hace que crear módulos sea una habilidad
esencial para un desarrollador de [Link].

Módulo http
Un módulo fundamental para implementar aplicaciones en un servidor web es el
'http'.

'http' es un módulo del core de [Link] e implementado en C para una mayor


eficiencia en las conexiones web.

Protocolo HTTP

Lo primero que haremos es repasar el funcionamiento de este protocolo tan


importante en [Link] (HyperText Transfer Procolol) o (Protocolo de
transferencia de hipertexto) permite la transferencia de datos entre un servidor
web y normalmente un navegador.

Cuando accedemos a un sitio web desde un navegador escribimos entre otras


cosas:

[Link] y archivo][?parámetros]

 http (indica el protocolo que utilizamos para conectarnos con un servidor


web)
 host (es el nombre del dominio por ej. [Link])
 puerto (es un número que generalmente no lo disponemos ya que por
defecto el protocolo http utiliza el nro 80, salvo que nuestro servidor
escuche peticiones en otro puerto que ya en este caso si debemos
indicarlo)
 [/ruta y archivo] (indica donde se encuentra el archivo en el servidor)
 ?parámetros (datos que se pueden enviar desde el cliente para una mayor
identificación del recurso que solicitamos)

 Desde el navegador parte el pedido y el servidor tiene por objetivo


responder a esa petición.
Servidor web con [Link]

Cuando trabajamos con la plataforma [Link] debemos codificar nosotros el


servidor web (muy distinto a como se trabaja con PHP, [Link], JSP etc. donde
disponemos en forma paralela un servidor web como puede ser el Apache o IIS)

Veremos inicialmente la implementación de un servidor web utilizando solo el


módulo 'http' pero más adelante incorpararemos otros módulos que nos facilitan el
desarrollo de sitios web complejos (de todos modos siempre utilizando y
extendiendo las funcionalidades del módulo 'http').

A continuación vamos a Implementar un servidor web con [Link] que


retorne HTML con un mensaje indicando que el sitio esta en desarrollo. No
importa que archivo pidamos del servidor retornar siempre el mismo HTML.

Crear un folder de pruebas : pruebas_nodejs.

Abrir Visual Studio Code y en el folder anterior un archivo con el nombre: [Link].
Agregar el siguiente código:

const http = require('http')


const puerto = 8088;

const servidor = [Link]((pedido, respuesta) => {


[Link](200, { 'Content-Type': 'text/html' });
[Link](`<!doctype html><html><head></head>
<body><h1>Sitio en desarrollo utilizando
nodejs</h1></body></html>`);
[Link]();

});
/* El servidor escucha las peticiones por el puerto 8888,
y responde por el mismo puerto.
*/

[Link](puerto);

[Link](`Servidor web iniciado en el puerto ${puerto}`);

Para probar nuestro servidor, abrimos una nueva terminal dentro del entorno de
Visual Studio Code
Escribimos el siguiente comando: node [Link]

Podemos observar que el servidor esta respondiendo por el puerto 8088.


Podemos abrir nuestro navegador y acceder al servidor local (localhost) en el puerto 8888
y ver que ahora tenemos como resultado:

Si detenemos el servidor que creamos desde la consola (Presionamos las teclas


Ctrl C que aborta el programa) y solicitamos nuevamente datos al servidor
podremos ver que ahora el servidor no responde:
Nota:

Es importante entonces tener en cuenta que el programa [Link] este ejecutándose para
poder pedirle recursos. Otra cosa muy importante es que cada vez que hagamos cambios en
el código fuente de nuestra aplicación en JavaScript debemos detener y volver a lanzar el
programa para que tenga en cuenta las modificaciones.

Fin..

También podría gustarte