Ideas Claras de Javascript
JavaScript es un lenguaje de programación interpretado por lo que no es necesario compilar los programas para ejecutarlos
La interpretación (y ejecución) del código javascript que hay en cada página web se realiza en el navegador (browser) cuando se carga la página
Según una separacion en 3 capas de la pagina web, con el Javascript controlariamos la capa del comportamiento:
- Contenido → HTML
- Presentacion → CSS
- Comportamiento → Javascript
Con la llegada de AJAX (que no es más que el uso del objeto javascript XMLHttpRequest con el que se puede interactuar con el servidor sin tener que forzar una recarga de página) se abrió una nueva era en la historia del lenguaje
El uso tradicional de Javascript ha sido en el browser, pero ya se ha extendido su uso tambien en el lado del servidor (Node.js), en aplicaciones desktop y en aplicaciones mobile
Hay diferencias entre los navegadores debido al uso de diferentes motores de Javascript. Algunos de ellos son:
- Mozilla → Spidermonkey
- Chrome → V8
- Safari → JavaScriptCore
- IE → Chakra
- Node.js → V8
T> Aunque la diferencia grande siempre ha estado entre Internet Explorer y el resto (hasta IE9)
Estos interpretes (motores) de JS que hay en cada navegador, realizan optimizaciones de código cada uno a su manera de ahí el diferente rendimiento entre navegadores
Un Framework (o libreria) es una coleccion de utilidades comunmente utilizadas que pueden ser utilizadas para desarrollar aplicaciones ahorrando tiempo y esfuerzo. La libreria más conocida y utilizada es jQuery.
ECMAScript
Javascript está basado en ECMAScript (o Ecma-262) que es una especificación de lenguaje de programacion (otro lenguaje "famoso" basado en este standard es ActionScript).
Las diferentes revisiones del Ecma-262 y su implementacion en los navegadores han ido marcando los desarrollos en Javascript
ECMAScript 5 (ES5) y ECMAScript 2015 (tambien conocido como ECMAScript 6, ES6 o ES2015) son las dos "versiones" de Javascript que se utilizan actualmente.
EcmaScript 5
ECMAScript5.1 fue lanzado en 2011 y podemos decir que es el actual standard de Javascript (2014).
Si miramos las estadisticas de uso de navegadores junto con la compatibilidad de estos con ES5 podemos concluir que: basandonos en ES5 nuestro codigo funcionará bien en la mayoria de los navegadores utilizados actualmente (2016).
Si queremos, podemos dar soporte de algunas features de ES5 en navegadores antiguos que no la soporten, utilizando el correspondiente shim
ES5 amplia los anteriores standards con algunas mejoras:
EcmaScript 2015
ECMAScript 2015 es el último standard de Javascript pero aun no está lo suficientemente implantado en los navegadores mas utilizados.
- Learn ES6 | A detailed overview of ECMAScript 6 features
- ECMAScript 6 Learning! (Eric Douglas Github)
- ES6 Rocks | A collaborative website about the ECMAScript sixth edition, a.k.a. ES6.
- Use ECMAScript 6 Today (tutsplus.com)
Aunque podemos utilizar ES2015 en nuestros proyectos desde hoy mismo si:
damos soporte de estas features de ES2015 en navegadores que no las soporten utilizando el correspondiente shim
transformamos el código a ES5 mediante un proceso de transpilacion (transformación de un tipo de código a otro tipo de código)
Estos libros estan centrados en ES5 que es el código que funcionará sin problemas directamente en tus páginas web.