Es indiscutible que JavaScript es el lenguaje más de moda. El lenguaje de programación cliente por excelencia está redefiniéndose constamente, dando lugar a herramientas y frameworks preparados para todo tipo de aplicaciones.
Cada vez son más frecuentes las startups que usan como base de su backend el framework NodeJS, único por su naturaleza asíncrona y rapidez de desarrollo, y otras herramientas como MeteorJS y Electron que nos permiten crear aplicaciones para escritorio y móvil con código web.
La creación de JavaScript se remonta a 1995, con la salida del navegador Netscape en su versión 2.0, donde Brendan Eich creó el lenguaje en tan solo 15 días. Sus primeros años no fue del todo útil debido a un soporte inconsistente del lenguaje: Microsoft y Netscape tenían implementaciones muy diferentes del lenguaje y esto implicaba que los desarrolladores tenían que programar de formas diferentes para los dos navegadores. Esto cambió cuando se creó el estándar ECMAscript, que proponía un comportamiento uniforme entre todos los navegadores.
El boom de JavaScript ocurrió a principios-mediados de la década pasada, cuando empezaron a surgir las primeras herramientas y frameworks basados en este lenguaje. Sin duda la que más repercutió en el desarrollo del lenguaje fue jQuery, una líbreria que hoy en día cuenta con cientos de miles de plugins creados por gente de todo el mundo. La filosofía de jQuery era sencilla pero efectiva: facilitar al desarrollador web la manipulación del DOM y proporcionar helpers para que el desarrollo fuera ágil e intuitivo. Su fisolofía sigue siendo la misma, aunque la API de jQuery ha crecido considerablemente, pudiendo hoy encontrar un plugin en jQuery sobre casi cualquier funcionalidad que se nos pueda ocurrir.
Fue a finales de esta década cuando JavaScript empezó a salir del navegador: Ryan Dahl creó en 2009 Node.JS, un framework que aprovechaba la rapidez del motor de JavaScript V8 de Google Chrome para crear aplicaciones complejas en el servidor. Su rapidez de desarrollo, capacidades asíncronas y orientación a eventos cautivó a muchos desarrolladores del mundo que ya estaban familiarizados con JavaScript, que empezaron a crear paquetes para este framework, creando un ecosistema muy variado y activo.
Unos años más tarde empezaron a surgir frameworks del lado del cliente que permitían hacer aplicaciones complejas con una estructura bien definida y capacidades avanzadas: el primero fue Backbone.js, un framework MVC minimalista que goza de gran popularidad. Este permitía crear aplicaciones event-driven (orientadas a eventos) de una forma estructurada y coherente, con los datos y lógica bien delimitados. Uno de los factores que más favorece a Backbone es su rápida curva de aprendizaje. Pero había un framework que dentro de unos años superaría a Backbone en popularidad: AngularJS.
AngularJS se desarrolló en Google en 2009, pero su uso se popularizó en 2013-2014. Se trata de un framework grande, que introducía muchos conceptos nuevos al mundo de JavaScript, y uno de los pioneros del desarrollo web orientado a componentes. Angular dió pie a otros grandes frameworks como Ionic o Electron que lo usan como base. Ahora mismo se encuentra en un estado de transición a una nueva versión, que ha disgustado a una gran cantidad de gente puesto que implica cambios rompedores que no son compatibles con la versión actual.
Además, se replantea totalmente el framework entero, habiendo que reaprender su funcionamiento otra vez desde 0. Esto ha hecho que muchos desarrolladores se pasen a React, un framework desarrollado por Facebook que tiene como prioridades un desarrollo orientado a componentes web y un rendimiento óptimo cuando se realizan operaciones sobre el DOM. Ahora mismo React es el framework que más está creciendo: Github está repleto de componentes web reusables listos para implementar en tu proyecto.
Por otra parte, también se ha desarrollado otra corriente de desarrollo web llamada Isomorphic Javascript, que tiene como clave ejecutar el mismo código tanto en el cliente como en el servidor, para que el programdor solo escriba el código una vez. El framework con más popularidad de este tipo es MeteorJS, un framework que permite no sólo crear webapps de una manera sencilla, sino también compilar la misma para dispositivos móviles de una manera rápida y efectiva, sin ningún esfuerzo. Puedes consultar más frameworks de este tipo en la página oficial de Isomorphic JavaScript.
Otro ejemplo de JavaScript fuera del navegador es Electron, una herramienta creada por Github que permite programar aplicaciones para sistemas operativos de escritorio con JavaScript. El rendimiento de Electron ha demostrado ser bueno: grandes aplicaciones como el editor Atom de Github o la aplicación de escritorio de Slack están basadas en esta tecnología joven pero prometedora.
Este próximo año una gran cantidad de frameworks migrarán a ES6, el nuevo estándar de Ecma que estandariza muchas características que llevamos esperando durante años. En estos momentos la implementación de este estándar es parcial en todos los navegadores, que poco a poco irán adaptándose al mismo durante 2016. Entre las nuevas funciones más destacadas se encuentran las promesas y verdadera orientación a objetos (en lugar de clases prototípicas).
Aquí podemos ver una línea de tiempo resumiendo la evolución del ecosistema JavaScript durante los últimos 20 años:
Netscape – 1995
Brendan Eich crea la primera versión del lenguaje JavaScript.
1997
W3C define el primer estándar ECMAScript, en un intento de homogenizar el lenguaje entre Internet Explorer y Netscape Navigator
2006
John Resig crea jQuery, el framework JavaScript que hoy en día usan más del 90% de las webs en internet.
2009
Node.js sale al público siendo pionero en usar JavaScript fuera del navegador web. Pocos años después se convierte en el framework de facto para aplicaciones asíncronas.
2009-2010
Miško Hevery crea AngularJS, un framework orientado a proyectos grandes basados en JavaScript. Tiene una gran aceptación en la comunidad pasados unos años. Ese mismo año también sale Backbone, el primer framework MVC para JavaScript, más minimalista que el susodicho.
2012-2013
Nacen los frameworks React (de Facebook) y Meteor. Estas dos herramientas permiten crear aplicaciones web así como apps para smartphones con el mínimo esfuerzo. JavaScript está en auge y se convierte en el lenguaje más popular de Github. También surgen nuevos framewroks basados en Angular como Ionic framework.
2014-2015
Los navegadores empiezan a implementar ECMAscript 6 en sus motores JavaScript. La herramienta Webpack se populariza gracias a sus ventajas con respecto a sus predecesores (Gulp, Grunt…).
2016
El próximo año se establecerá ES6 como estándar en todos los navegadores. Google lanzará su nueva versión de Angular, basada en TypeScript, un lenguaje con fuerte tipado desarrollado por Microsoft.
Como podemos observar, JavaScript está en pleno auge y todo apunta a que se está convirtiendo en el lenguaje más popular para los nuevos programadores. Sin duda es una tecnología que ha demostrado su fiabilidad y escabilidad, y la comunidad es más activa que nunca. Los próximos 5 años veremos como los componentes web toman las riendas de internet, y todo apunta a que en un futuro no muy lejano los navegadores los soportarán nativamente. Si te quedaba alguna duda, ¡JavaScript es un lenguaje que se merece tu aprendizaje!