Blog

Categorías

X Cerrar

Categorías

El lenguaje JavaScript

Mar 09 2017 | Programación, Web

En términos web, JavaScript es un lenguaje de programación del lado del cliente (front-end) junto con HTML, CSS y XML. Su nacimiento se remonta a mediados de la década de los 90, época donde su creador Brendan Eich lanza LiveScript y es incluido como una característica del navegador Netscape Navigator. Posteriormente Sun Microsystems (propietaria del lenguaje Java) adquiere Netscape y se decide cambiar el nombre del lenguaje a JavaScript. Cabe anotar que Java y JavaScript no guardan relación alguna, son lenguajes que se utilizan en ámbitos totalmente diferentes.

Poco después del nacimiento de JavaScript la especificación del lenguaje fue enviada a la European Computer Manufacturers Association (ECMA) donde se creó el comité TC39 y se nombró el estándar como ECMA-262 para el caso específico de uso en navegadores. Esto debido a que el denominado ECMAScript además de ser implementado por JavaScript, también se implementa en otros lenguajes como es el caso de ActionScript que es utilizado para programar en el ya desaparecido Flash. La especificación del lenguaje más reciente a la fecha puede ser consultado en versión web y como documento pdf descargable.

JavaScript es un lenguaje liviano, interpretado (no necesita ser compilado), multiplataforma (se ejecuta independientemente del sistema operativo: Windows, Linux, MAC OS entre otros), orientado a objetos, basado en prototipos (no usa clases para realizar herencia), de tipado dinámico (no se declara estrictamente el tipo de variable), con funciones de primera clase (pasar funciones como parámetros, uso de funciones anónimas).

Debido a la popularidad de JavaScript, en la actualidad existen una gran cantidad de frameworks (librerías) que facilitan la creación de aplicaciones robustas ya que brindan al desarrollador métodos ágiles para realizar tareas comunes como gestión de eventos, manipulación del DOM (Document Object Model), conexiones asíncronas por medio de AJAX (Asynchronous JavaScript And XML), validación de formularios, generación de interfaces de usuarios, animaciones y mucho más. Dentro del universo de frameworks JavaScript se pueden destacar: JQuery, Zepto, Angular, Ember, Backbone, React, Modernizr entre otras.

Todas estas librerías aunque proveen maneras rápidas y eficaces para crear aplicaciones, no dejan de ser JavaScript, es muy común escuchar entre algunos programadores (sobretodo novatos) expresiones como: ‘yo programo en JQuery’; tomando a JQuery u otra librería como un lenguaje, pero a la larga todo esto es JavaScript. De hecho, muchos desarrollares han aprendido a programar usando un framework específico sin conocimientos o experiencia previa con JavaScript, lo que en ocasiones resulta ser mala práctica debido a que realizar ciertas tareas específicas resulta mucho más cómodo y eficaz ejecutarlas en JavaScript nativo. Aunque resulte muy atractivo hacer uso de frameworks por los beneficios que brindan, es cierto también que podrían generar un costo en carga de archivos, rendimiento y hasta generar cierta dependencia, por lo que no está de más programar escribiendo algo de código ‘puro y duro’.

Desde hace algunos años existe una iniciativa llamada Vanilla JS, donde se dice que por medio de este ‘framework’ se pueden lograr los mismos resultados y con mejor rendimiento comparado con sus competidores. En realidad lo que se busca es mostrar que el uso nativo de JavaScript puede resultar bastante beneficioso y que el uso de frameworks debería considerarse en casos específicos.

A partir del 2009 con la aparición de Node JS, JavaScript dejó de ser un lenguaje front-end para volcarse del lado del servidor (back-end), aunque ya existían otras iniciativas para llevar a JavaScript del lado del servidor, Node es el que más popularidad ha alcanzado. Dentro de su diversidad de características se destaca que es un servidor no bloqueante; por lo que puede atender una gran cantidad de peticiones sin necesidad de haber recibido respuesta de otras. Además Node corre sobre V8, el motor de JavaScript de Chrome reconocido por su gran velocidad.

Al poder utilizar JavaScript en distintos ámbitos y las ventajas que brindan sus frameworks, dentro de la comunidad de desarrolladores se ha popularizado el Full Stack JavaScript conocido como Stack MEAN (MongoDB + Express + AngularJS + NodeJS) que cubre el acceso a bases de datos, desarrollo front-end y back-end en torno a un único lenguaje de programación: JavaScript.

Sin duda JavaScript en el desarrollo web brinda una gran cantidad de posibilidades, permite el desarrollo de aplicaciones sofisticadas y robustas, queda en cada quien explorar el lenguaje y comenzar a escribir las primeras líneas de código para ir logrando los primeros resultados. Por cierto, la intención es generar una serie de publicaciones donde se profundice en el lenguaje escribiendo algunas líneas de código. ¡Saludos!