Javascript a través de los tiempos
Un viaje por la historia de javascript, desde sus primeros confusos dias, hasta su presente revolucionario y su prometedor futuro.
LOS INICIOS DE LA WEB
(1991 - 1995)
-
Creación de la WWW (1991)
Y del primer navegador, llamado "WorldWideWeb".
-
Aparición de diferentes navegadores (1991-1995)
ViolaWWW y Prosaic fueron los mas famosos en aquel momento inicial. Luego aparece Netscape.
JAVASCRIPT: EL COMIENZO
(1995 - 1997)
Brendan Eich
crea la primera versión de Javascript en 9 dias, para Netscape 2.0. Originalmente la llama Mocha, cambiado a LiveScript y por un acuerdo entre Sun y Netscape, finalmente se llama Javascript.
Se propone como un "lenguaje de pegamento"
Netscape 2.0 también incluia java, y consideraba que este sería el lenguaje núcleo de los componentes de la web (Applets), mientras javascript sería un enlace entre ellos.
Su funcionalidad inicial es muy reducida, casi relegandose a la validación de formularios.
ECMASCRIPT 1 Y 2: LOS INICIOS
(1997 - 1999)
Ecmascript 1 y 2
Primeras versiones
La versión 1 del estándar Ecmascript se lanza sin contratiempos. Ecmascript 2 se lanza sin grandes cambios en funcionalidad, mas centrado en cumplir estándares.
Document Object Model (DOM)
Document Object Model es una interface para abstraer la estructura HTML de la página en forma de un árbol que permite editar, insertar y eliminar componentes.
La posibilidad de integrar manipulación de DOM a Javascript le empieza a dar potencia al lenguaje.
ECMASCRIPT 3: CONSOLIDACIÓN
(1999 - 2006)
Novedades Ecmascript 3
-
Expresiones regulares
Soporte completo. -
Manejo de Excepciones
Inclusión de Try/Catch. -
Manejo de Errores
Inclusión de utilidades para la captura de errores. -
Salidas numéricas
Formateo de números. -
Manejo de strings
El muy primitivo manejo de Strings se hace mas robusto. -
Control de declaraciones
Se realizan cambios fundamentales en estructuras de control.
XML HTTP Request
1999: Interfaz para peticiones HTTP
JSON
2001: Intercambio de archivos
AJAX
2005: Javascript Asíncrono y XML
Apache CouchDB
2005: BD NoSQL basada en JSON
ECMASCRIPT 4: REVOLUCIÓN FALLIDA
:(
Ecmascript 4
Cambios propuestos
Integración de módulos, clases tipo java, programación orientada a objetos.
Desechada por "problemas políticos"
Se proponian cambios drásticos que causaban preocupación en el equipo de trabajo.
Consideraban que estos cambios provocarian problemas de incompatibilidad y rechazo generalizado.
MONOPOLIO JQUERY
2006 - ¿?
-
DOM
JQuery simplifica manipulación del DOM.
-
Eventos
Simplifica y potencia la programación orientada a eventos.
-
Compatibilidad
Asegura la compatibilidad entre casi todos los navegadores.
-
Gráficos
Utilidades gráficas y animaciones.
-
AJAX
Facilidad en la utilización de AJAX.
Webkit Movil
2007: Javascript en móviles
MongoDB
2007-2009: BD NoSQL basada en javascript.
Google V8
2009: Javascript rápido por fin!
REVOLUCIÓN (ahora si)
2009 - ¿?
Ecmascript 5
2009: Actualización a la versión 3 que tenia ya 10 años.
Node.js en el servidor
En 2009 aparece Node.js para llevar Javascript al servidor. No es la primera vez que se propone algo así, pero esta vez, si tiene exito.
Single Page Application
Son aplicaciones cuyos componentes estaticos se cargan una única vez al iniciar, y los datos se cargan dinámicamente a medida que son solicitados. Existen librerias y frameworks como: Angular.js, Angular, backbone, vue, durandal, aurelia y ember con este fin.
React.js
Si bien a veces es incluida en el conjunto anterior, React mas que una librería para SPA, es una librería para desarrollo web por componentes.
Web Components
Desarrollo con pequeños componentes empaquetados que contienen el html, css y js necesario para funcionar.
Meteor.js
Framework web completo, para desarrollar aplicaciones en javascript tanto en cliente como en servidor.
Server Frameworks
Se han desarrollado diferentes frameworks muy potentes para el servidor con Node.js. Por ejemplo: Express, Loppback, hapi, Sails.js.
Automatización de tareas
Gulp - Grunt
Browserify
Require en el cliente.
Webpack
Toma módulos con dependencias y los convierte en assets estáticos.
BabelJS
Transpilación de diferentes versiones de Ecmascript.
Package Manager
NPM - Yarn - Bower
Aplicaciones móviles con javascript
FirefoxOS (QEPD), Phonegap, Apache Cordova, Ionic.
Aplicaciones desktop con javascript
ElectronJS
ECMASCRIPT 6: REVOLUCIÓN COMPLETA (2015)
(Función arrow, clases, template strings, valores por defecto, módulos, y mucho mas)
ECMASCRIPT 7: EN MARCHA
(Aún en prometedor desarrollo)
¿Que nos espera? Spoiler: El futuro
Presentación para CúcutaJS
Speaker: @GersonLazaroC
www.gersonlazaro.com