Yosemite National Park

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.

Foto oficial Mozilla Foundation

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)

Yosemite National Park

¿Que nos espera? Spoiler: El futuro

Presentación para CúcutaJS
Speaker: @GersonLazaroC

www.gersonlazaro.com