Cada pocos años, el navegador con HTML5 cambia, ¡es totalmente normal! Es importante elegir las herramientas adecuadas.

Para crear aplicaciones en HTML5, es necesario aprender continuamente nuevas tecnologías y herramientas. El navegador con HTML5 es una plataforma muy cambiante. Cada pocos años, todo cambia radicalmente y el conjunto de tecnologías para crear una aplicación moderna se transforma.

Una de esas herramientas imprescindibles para el desarrollo de aplicaciones de cliente es Node.js.

¿Qué es Node.js y Por qué Surgió?

Acerca de Node.js
Acerca de Node.js

Node.js es un entorno de ejecución de programas JavaScript, construido sobre el motor Chrome V8. Antes, solo se podían hacer sitios web interactivos con JS, ya que era un lenguaje de programación especializado para navegadores. Con la plataforma de software Node.js, surgió la posibilidad de crear aplicaciones «sin navegador» para la computadora. Esto significa que, si es necesario, ahora se puede hacer con JavaScript lo mismo que con Python y otros lenguajes de programación de scripting de propósito general.

El lenguaje JavaScript fue creado a mediados de los noventa por la empresa Mozilla como un lenguaje de programación de scripting simple, integrado en el código de las páginas HTML. Como recuerda su creador, Brendan Eich, los desarrolladores se propusieron crear un «lenguaje para pegar» los componentes de un recurso web: imágenes, plugins y applets Java, que fuera fácil de usar para diseñadores web y programadores sin mucha experiencia. Fue creado para programar tanto del lado del cliente como del lado del servidor.

Pero, como suele suceder, con el tiempo los desarrolladores comenzaron a usar JavaScript de forma muy diferente a como estaba previsto. El lenguaje de programación más malinterpretado del mundo se convirtió finalmente en el más popular. Actualmente, lidera como herramienta para el desarrollo de aplicaciones web del lado del cliente. Esto sucedió porque la evolución de la web avanzó hacia las aplicaciones web interactivas, aunque la red no fue diseñada inicialmente para eso, ni tampoco JavaScript. Tuvo que adaptarse.

Cómo Funciona la Plataforma desde Adentro

Para este nuevo rol, se necesitó una nueva herramienta. Gradualmente, JavaScript se ha ido dotando de toda una infraestructura de frameworks, bibliotecas, compiladores y protocolos. También han aparecido varias plataformas de ejecución de aplicaciones de servidor y cliente. Node.js es la más popular de ellas. Esta plataforma fue lanzada por el programador estadounidense Ryan Dahl en 2009.

La plataforma de software Node.js funciona con el motor V8, que traduce JavaScript a código máquina. En términos generales, la propia plataforma es una aplicación C++ que recibe código JavaScript como entrada y lo ejecuta.

El entorno de ejecución tiene su propia interfaz en C++ para interactuar con los dispositivos de entrada/salida de la computadora. Es decir, esta plataforma en realidad convierte JavaScript de un lenguaje de scripting especializado a un lenguaje de propósito general. Esto significa que en Node.js se pueden escribir cualquier tipo de programas de computadora.

Enfoque Orientado a Eventos

La principal característica de Node.js es que, en lugar del modelo tradicional de paralelismo basado en hilos, el autor optó por un enfoque orientado a eventos. Esta es una forma de programación en la que la ejecución de los programas se define por eventos. Por ejemplo, puede ser una acción del usuario, la llegada de un paquete de red, un mensaje de otro programa, etc.

Este enfoque simplifica enormemente la programación de algunas aplicaciones, especialmente al implementar una interfaz de entrada/salida (I/O) cómoda, como la de Node.js. Según la leyenda, la idea de crearla se le ocurrió al autor cuando vio una barra de progreso de carga de archivos en Flickr que no entendía el porcentaje real de carga de los archivos, es decir, no tenía retroalimentación del navegador debido a la falta de vinculación de eventos.

Con la proliferación en Internet de las redes sociales y otros sitios web interactivos, aumentó considerablemente la demanda de Node.js como plataforma para aplicaciones que responden a las acciones del usuario: chats, juegos, herramientas de colaboración, todo esto se hace ahora con JavaScript mediante el entorno de ejecución.

Por lo tanto, Node.js es un framework I/O orientado a eventos en JavaScript. Las características técnicas hacen que las aplicaciones basadas en él sean ligeras y eficientes. Esto explica su enorme popularidad.

El desarrollo del lenguaje lo coordina OpenJS Foundation, que está financiado por el programa de apoyo a proyectos gratuitos de Linux Foundation. Es un proyecto libre y distribuido, en cuya creación participan miles de desarrolladores de todo el mundo de forma gratuita.

¿Para qué se Necesita y Dónde se utiliza Node.js?

El entorno de ejecución es una plataforma para escribir aplicaciones JavaScript utilizando bibliotecas externas.

Gracias a Node.js, el código JavaScript escrito para el navegador tiene acceso a objetos globales como document y window, junto con otras API y bibliotecas. Con Node.js, el código accede al disco duro, a las bases de datos y a la red. Esto permite escribir cualquier tipo de aplicaciones: desde utilidades de línea de comandos y videojuegos hasta servidores web completos.

Node.js se utiliza con más frecuencia en la escritura de aplicaciones web con una intensa entrada/salida. El ejemplo más común son los servidores web. También se utiliza la plataforma para crear aplicaciones en tiempo real: chats, programas de comunicación y juegos. Muchas aplicaciones tienen una parte de servidor y una parte de cliente.

Administrador de Paquetes NPM

Una parte importante de Node.js es el administrador de paquetes NPM, Node Package Manager, que se instala junto con el intérprete (ver más abajo).

Cómo Instalar y Ejecutar Node.js

La última versión de Node.js se puede descargar desde el sitio web oficial nodejs.org. Para la mayoría de los usuarios, se recomienda instalar la versión con soporte a largo plazo (LTS).

Página principal del sitio web oficial de Node.js.
Página principal del sitio web oficial de Node.js.

El entorno de ejecución instalado proporciona dos utilidades de línea de comandos: Node y NPM. La primera ejecuta el software creado en JavaScript.

Escribimos Nuestro Primer Programa en Node.js

Vamos a escribir un sencillo programa en JavaScript que imprima texto en la consola:

console.log("CodigoNautas test");

Lo guardaremos en el archivo cn.js. Entonces, el comando node puede ejecutar este programa con código JS:

Ejemplo de ejecución de Node.js
Ejemplo de ejecución de Node.js

El comando node ejecutó el programa cn.js, imprimiendo en la consola el texto «CodigoNautas test».

Además de Node, se instala en la computadora el programa NPM, que es un sistema de gestión de paquetes de Node, necesario para instalar herramientas de distribución libre desde Internet. Precisamente, más adelante necesitaremos algunas de estas herramientas, que tendremos que descargar después de instalar NPM. Todos los programas aquí se descargan e instalan de forma estándar:

console.log ("CodigoNautas test");

Para obtener una lista de los paquetes disponibles y sus breves descripciones, se puede utilizar el siguiente comando:

npm search

Por ejemplo, necesitaremos el programa browser-sync para ejecutar ejemplos de código en el navegador y actualizar automáticamente la página al guardar los cambios en el código. La herramienta se instala con el siguiente comando (con el parámetro -g, que significa «instalación global» del paquete para ejecutarlo desde cualquier directorio):

npm install -g browser-sync

Node.js como Constructor de Aplicaciones

La plataforma Node.js contiene una gran cantidad de módulos útiles que ayudan a trabajar con archivos y directorios, a interactuar con la red y a procesar eventos. Para Node.js se han lanzado más de 650.000 paquetes de software libre, por lo que la creación de muchas aplicaciones se asemeja a la construcción con bloques de un constructor.

Además de Node y NPM, también es necesario instalar un editor de código, si todavía no lo tienes. Hay varios editores cómodos, como Visual Studio Code de Microsoft, Brackets de Adobe y el popular editor libre Atom. Todos son gratuitos.

Categorizado en:

Programación,