Cuando pensaba que Python sería mi compañero de ruta por un buen tiempo, se unió a la fiesta un nuevo desafío. LLegó el momento para darle una segunda oportunidad a ese viejo conocido del tiempo de Netscape Navigator para que nos sorprenda con sus avances y comprobar el porqué de de actual popularidad.
En el principio de los tiempos..
Hace mucho tiempo, todo era HTML (textos, imágenes, enlaces, …), por lo que todo era estático y aburrido, además solo había dos navegadores Internet Explorer (Microsoft) y Netscape Navigator donde cada uno a su manera querían ser los pioneros en impulsar el incipiente desarrollo web.
Corría el año 1995 cuando Brendan Eich, quien trabajaba para Netscape desarrollo LiveScript (CodeName: Mocha), Netscape firmó una alianza con Sun Microsystems para el desarrollo del nuevo lenguaje de programación. Además, justo antes del lanzamiento Netscape decidió cambiar el nombre por el de JavaScript.
La razón del cambio de nombre fue exclusivamente por marketing, ya que Java era la palabra de moda en el mundo informático y de Internet de la época.
Debido a que JavaScript es un lenguaje funcional, imperativo y orientado a objetos prototipos tuvo tanto éxito que 1 año después lanzan la versión 1.1, y a la par Microsoft decide adoptarlo para Internet Explorer,bueno ejem… realmente creó una copia de JavaScript llamada JScript (esto con el fin de evitar problemas legales); como buen visionario Netscape decide estandarizar el lenguaje de JavaScript así que en 1997 decide enviar su versión al organismo ECMA (European Computer Manufacturers Association.
JavaScript hoy
El poder de JavaScript está disponible principalmente en lado frontend, agregando mayor interactividad a la web, también puedes usar las librerías y framework como: jquery, angular, backbone, react y demás, escritas sobre JavaScript, y que te ayudan a crear una mejor experiencia de usuario en nuestros sitios web. De igual manera JavaScript se puede utilizar en los servidores web. Node.JS es tu mejor opción para usar este lenguaje del lado del servidor.
NODE.JS, la nueva frontera
En realidad Node.js no es nueva plataforma que dominará el mundo del desarrollo web. Al contrario, se trata de una plataforma que llena una necesidad en particular, y este entendimiento es absolutamente esencial.
Definitivamente no quieres usar Node.js para operaciones intensivas de CPU; de hecho, utilizándolo para el cálculo pesado anulará casi todas sus ventajas. Donde Node REALMENTE destaca es en la construcción rápida y escalable de aplicaciones de red, debido a que es capaz de manejar un gran número de conexiones simultáneas con alto rendimiento, lo que equivale a una alta escalabilidad.
Cómo funciona internamente es bastante interesante. Frente a las tradicionales técnicas de servicio web donde cada conexión (solicitud) genera un nuevo subproceso, retomando la RAM del sistema y finalmente a tope a la cantidad de RAM disponible, Node.js opera en un solo subproceso, no utiliza el bloqueo de llamadas de E/S, lo que le permite admitir decenas de miles de conexiones simultáneas (celebrada en el caso de loop).