Al empezar a revisar lenguajes como Angular o React, estos tenían como base a Node. Por lo cual mi pregunta sobre cómo está construido Node y porqué lo utilizan. Este artículo no describe, la arquitectura de Node, más si revela por que Node se encuentra basado en JavaScript, así como Angular y React.
Para bien o para mal, JavaScript es el lenguaje de programación más popular a nivel mundial. Si usted está realizando un programa para la web, es inevitable. JavaScript, debido a que su alcance es la web, cumple con “se escribe una vez, se ejecuta donde sea” el sueño que Java introdujo en los noventa.
Alrededor de la revolución de Ajax en 2005, JavaScript se convirtió de un lenguaje de “juguete” a un lenguaje donde se podía escribir programas reales y significativos. Algunos de los primeros fueron Google Maps y Gmail, pero ahora existen muchas aplicaciones web de Twitter, Facebook o GitHub.
Desde el lanzamiento de Google Chrome a los finales de 2008, el desempeño de JavaScript ha mejorado rápidamente en base a la gran competencia de los navegadores web (Mozilla, Microsoft, Apple, Opera y Google). El desempeño de estas modernas máquinas virtuales de JavaScript ha cambiado en forma literal el tipo de aplicaciones que se pueden construir en la web.
Node utiliza V8, la máquina virtual que soporta Google Chrome, para programas del lado del servidor. V8 proporciona a Node un gran incremento en performance debido a que este elimina el intermediario, eligiendo una compilación a código máquina sobre bytecodes que serán luego usados o interpretados. Debido a que Node utiliza JavaScript en el servidor hay otros beneficios:
- Los desarrolladores pueden escribir aplicaciones en un solo lenguaje, que reducen los cambios entre desarrollo del lado del cliente y del servidor, permitiendo de esta forma el intercambio de código entre cliente y servidor, reutilizando la misma lógica para la validación de un formulario o la lógica de un juego.
- JSON es un formato de intercambio de datos muy popular y es nativo para JavaScript.
- JavaScript es el lenguaje utilizado en varias bases de datos NoSQL (Como CouchDB o MongoDB), luego la interface con estos es más sencilla.
- Hay muchos lenguajes que compilan a JavaScript (https://github.com/jashkenas/coffeescript/wiki/List-of-languages-that-compile-to-JS )
- Node utiliza una máquina virtual (V8) que soporta el estándar ECMAScript. En otras palabras, no tiene que esperar a que todos los browsers se pongan al día para utilizar las nuevas funcionalidades de JavaScript en Node.
Este artículo es para resaltar la importancia de Node en el mercado y la gran popularidad que ha adquirido en tan poco tiempo.
Artículo en base al capitulo 1 del libro Node.js in Action, quedamos atentos a sus dudas y/o observaciones.