Está en la página 1de 8

UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES

“UNIANDES”

SEMESTRE MAYO 2020 – SEPTIEMBRE 2020

IDENTIFICACION

Facultad: Sistemas Mercantiles


Carrera: Ingeniería en Sistemas
Materia: Cliente Servidor II
Semestre: Octavo
Docente: Ing. Jorge Yaguar
Integrante: Javier Najamtai.

Fecha: 10 de Julio de 2020


¿Qué es Node.js?
Node.js es un ambiente de ejecución de JavaScript. Utiliza un modelo de entrada y salida
sin bloqueo controlado por eventos, de esta manera lo hace un entorno ligero y eficiente.
Node.js cambió la forma en que programamos JavaScript ya que ahora todo nuestro
código debe funcionar de manera asíncrona a partir de eventos (Lucas, 2019).
Beneficios de utilizar Node.js
 La compilación de Node.js se realiza en tiempo de ejecución, Just In Time (JIT),
esto trae consigo una mayor optimización a las funciones que más veces sean
llamadas.
 Mediante clusters permite tener una escalabilidad alta.
 Podemos expandir nuestro código añadiendo módulos de forma fácil gracias al
Node Package Manager (NPM).
 Un alto rendimiento en proyectos donde necesitemos ejecución en tiempo real.
 En startups o equipos pequeños podremos realizar front-end, back-end y hasta una
aplicación móvil con un mismo lenguaje.
Actualidad
Node.js ha tenido bastantes cambios a lo largo de su desarrollo. Hoy en día se mantiene
en constante mejora buscando optimizar su velocidad y brindando mayor seguridad para
la web.
Es tanto el auge y beneficios de Node.js que empresas como PayPal, Netflix, Uber y
hasta la NASA lo utilizan para optimizar el flujo de información dentro de sus
aplicaciones y a la vez reducir el costo, sin afectar la seguridad.
Acerca de Node.js®
Ideado como un entorno de ejecución de JavaScript orientado a eventos asíncronos,
Node.js está diseñado para crear aplicaciones network escalables. En el siguiente ejemplo
de "hola mundo", pueden atenderse muchas conexiones simultáneamente. Por cada
conexión, se activa la devolución de llamada o callback, pero si no hay trabajo que hacer,
Node.js se dormirá.
Esto contrasta con el modelo de concurrencia más común de hoy en día, en el que se
emplean hilos del Sistema Operativo. Las redes basadas en hilos son relativamente
ineficientes y muy difíciles de usar. Además, los usuarios de Node.js están libres de
preocuparse por el bloqueo del proceso, ya que no existe. Casi ninguna función en Node.js
realiza I/O directamente, por lo que el proceso nunca se bloquea. Por ello, es muy propicio
desarrollar sistemas escalables en Node.js.
NodeJS un cambio de paradigma
NodeJS ha representado para muchos programadores todo un cambio de paradigma, pues
tiene como principal característica, el procesamiento asíncrono en casi la totalidad de sus
tareas. Para ello, NodeJS utiliza únicamente un hilo de ejecución y procesamiento de
entrada y salida asíncrono. Con lo cual, NodeJS no realiza bloqueos en el procesamiento.

Ventajas y desventajas de NodeJS


Hasta este momento, solo le hemos echado flores a NodeJS, pero es hora de poner las
cosas en perspectiva y analizar las cosas buenas y malas que tiene, para de esta forma
poder tener un mejor análisis.

*Cabe mencionar que este análisis es desde mi muy humilde punto de vista, y puede que
para algunos la desventaja sean ventajas y viceversa. Pero como dicen, no hay más ciego
que el que no quiere ver, por lo que si tú eres un apasionado purista de NodeJS puede que
nada de esto te parezca.
Ventajas
OpenSource: sin duda, hoy el software open source ha tenido la evolución más rápida y
con mejor aceptación de los usuarios, además que es totalmente gratis su uso, puede
descargar el código fuente para analizarlo y crear tu propio proyecto de Open Source
basado en este.
Optimización de los recursos: Dada la naturaleza asíncrona de NodeJS nos permite tener
una mucho mejor administración de los recursos.
Desarrollo agiles: NodeJS permite crear aplicaciones de una forma simple y rápida, a
diferencia de otros lenguajes de programación como Java o C#, que se requiere de una
gran cantidad de clases para echar a volar un proyecto.
FullStack: Dado que JavaScript se puede ejecutar del lado del servidor y del cliente, es
posible crear aplicaciones de BackEnd y FrontEnd con una sola tecnología.
Modularidad: Como ya lo hablamos, NodeJS es extremadamente modular, lo cual
permite utilizar únicamente los módulos requeridos sin traernos nada de más.

Desventajas:
OpenSource: sin duda, hoy el software open source ha tenido la evolución más rápida y
con mejor aceptación de los usuarios, además que es totalmente gratis su uso, puede
descargar el código fuente para analizarlo y crear tu propio proyecto de Open Source
basado en este.
Optimización de los recursos: Dada la naturaleza asíncrona de NodeJS nos permite tener
una mucho mejor administración de los recursos.
Desarrollo agiles: NodeJS permite crear aplicaciones de una forma simple y rápida, a
diferencia de otros lenguajes de programación como Java o C#, que se requiere de una
gran cantidad de clases para echar a volar un proyecto.
FullStack: Dado que JavaScript se puede ejecutar del lado del servidor y del cliente, es
posible crear aplicaciones de BackEnd y FrontEnd con una sola tecnología.
Modularidad: Como ya lo hablamos, NodeJS es extremadamente modular, lo cual
permite utilizar únicamente los módulos requeridos sin traernos nada de más (oblancarte,
2017).
Para entenderlo veamos un ejemplo de asincronía en detalle:
# En una llamada típica síncrona el código anterior devolvería:

Instalación de Node.js en Debian

Comandos básicos en el uso de Node.js


Desde la línea de comandos de node podemos teclear instrucciones para ejecutar
aplicaciones o bien escribir una aplicación. En general lo que se suele hacer es crear un
fichero .js con las instrucciones de la aplicación que va a ejecutar Node.
El entorno de trabajo al que se accede desde la línea de comandos se denomina REPL.
El sistema de módulos en NodeJs
En un esfuerzo por hacer que el código sea lo más modular y reutilizable posible, Node
utiliza un sistema de módulos que le permite organizar mejor su código. La idea básica
es escribir un código que soluciona un problema y se exporta como un módulo.

Luego, cada vez que necesite usar ese código en otro lugar en su código, lo cargaremos y
lo usaremos, ejemplo (Jose Emilio Labra Gayo, 2017):
Conclusiones
A mi ver NodeJS es sin duda una de las tecnologías más prometedoras del futuro, dado
que JavaScript se está convirtiendo en el lenguaje de programación rey. No me extrañaría
que JavaScript termine desplazando a lenguajes como Java o C#, un que para esto falta
tiempo.
Creo que empezar a apostar por NodeJS en este momento puede ser una muy buena
inversión, pues cada vez empezaremos a ver más y más proyectos desarrollados con
NodeJS y estas aplicaciones necesitarán de desarrolladores.
Bibliografía
Jose Emilio Labra Gayo. (10 de Mayo de 2017). https://es.slideshare.net. Obtenido de
https://es.slideshare.net: https://es.slideshare.net/jelabra/19-javascript-servidor-
80644682

Lucas, J. (4 de Septiembre de 2019). https://openwebinars.net. Obtenido de


https://openwebinars.net: https://openwebinars.net/blog/que-es-nodejs/

oblancarte. (27 de Mayo de 2017). https://www.oscarblancarteblog.com. Obtenido de


https://www.oscarblancarteblog.com:
https://www.oscarblancarteblog.com/2017/05/29/introduccion-a-nodejs-2/

También podría gustarte