Tema 1
Tema 1
Tema 1
Introducción e historia de
JavaScript
Índice
Esquema 3
Ideas clave 4
1.1. ¿Cómo estudiar este tema? 4
1.2. Introducción 5
1.3. Historia de JavaScript 6
© Universidad Internacional de La Rioja (UNIR)
Lo + recomendado 18
+ Información 22
Test 25
© Universidad Internacional de La Rioja (UNIR)
I N T R O D U C C I Ó N E H I S T O R I A D E J AVA S C R I P T
ECMAScript 3 ECMAScript 5
Firefox 1
1995 1997 1999 2001 2003 2005 2007 2009 2011 2013 2015 2017
CoffeeScript ES8
Tema 1. Esquema
Computación en el Cliente Web
Esquema
3
Ideas clave
Para estudiar este tema deberás leer las Ideas clave que se desarrollan a continuación
https://crockford.com/javascript/javascript.html
A pesar de que es fácil comenzar con JavaScript, este puede tornarse a veces un
lenguaje complicado y difícil de seguir. Sin embargo, una vez que se consigue cierta
soltura, comprobarás que se trata de un lenguaje flexible, potente y amigable.
También es un lenguaje de alto nivel cuyos programas se interpretan y se ejecutan,
esto implica que es necesario un cerebro externo que lo compile y ejecute nuestros
scripts. Cada navegador web incorpora su propio motor de compilación JavaScript y
hay una competencia muy sana entre los fabricantes de los mismos por ver quién
desarrolla el mejor intérprete para este lenguaje. En la siguiente tabla se muestran
algunos motores de JavaScript y en qué navegadores están implementados.
El joven Eich ya sabía lo que tenía que hacer: sacar un nuevo lenguaje de
programación de la chistera en muy corto espacio de tiempo y hacer que se pareciera
algo a Java, para poder venderlo como tal a la comunidad de desarrolladores.
JavaScript hizo su debut en la versión 2.0 del navegador Netscape (1995). En 1996
Microsoft, mediante ingeniería inversa, lanzó su propia versión de JavaScript a la que
la versión 4.0 nunca llegó a nacer por desavenencias entre los miembros del TC-39.
La versión 5.0 del estándar fue la siguiente y tuvo un parto feliz en 2009. Incluyó
novedades muy jugosas que contribuyeron a alejar a JavaScript de su fama de chico
malo de los lenguajes de programación. Cada versión de ECMAScript se denota por
el acrónimo ES + número de versión (ES1, ES2, ES3, ES5…).
AJAX permite la búsqueda de información por parte de una página web (mediante
código JavaScript albergado en la misma) y el «redibujado» de la misma con base en
la información recabada.
Otro factor que contribuyó de manera significativa a dignificar este lenguaje fue la
carrera que se dio (y aún continúa) entre los distintos fabricantes de navegadores y
motores JavaScript para crear el compilador de JavaScript perfecto. Tanto Apple
como Google y Mozilla se lanzaron a la carrera por ver quién conseguía la
© Universidad Internacional de La Rioja (UNIR)
implementación de JavaScript más pura (en relación al estándar definido por ECMA)
y con el mejor ratio de rapidez/eficiencia. Hoy en día, cada fabricante de navegadores
web tiene su propia implementación y, como hemos comentado antes, existe una
Completando la tabla que hemos indicado más arriba en el tema, las principales
implementaciones de ECMAScript (y que han sobrevivido a día de hoy) son:
Antes que Node, ya existieron (y existen) otros proyectos similares. Quizás el más
famoso es Rhino, desarrollado por Mozilla. La principal diferencia con respecto a
Node es que fue inicialmente concebido como una extensión para el lenguaje Java
© Universidad Internacional de La Rioja (UNIR)
NPM (Node Package Manager) es una base de datos, y un gestor por línea de
comandos, que permite buscar, descargar y utilizar miles de bibliotecas y
frameworks.
Figura 5. Página oficial de TypeScript, uno de los supersets de JavaScript más usados y respetados.
Fuente: https://www.typescriptlang.org/
Node.js
Empecemos con este último. En el entorno principal de JavaScript que vamos a usar
es Node.js. Con Node podemos probar y jugar con este lenguaje de manera muy
versátil, además, Node cuenta, como hemos comentado antes, con NPM. Este gestor
de software permite instalar miles y miles de paquetes basados en código JavaScript
y esto nos va a venir muy bien. Aunque usemos Node, siempre intentaremos que
© Universidad Internacional de La Rioja (UNIR)
Para instalar Node puedes usar los instaladores oficiales disponibles para descargar
en su página web. La instalación es prácticamente «desatendida» y, una vez
completada, ya podemos arrancar el intérprete de Node. Para ello abre la consola de
comandos tu sistema operativo.
Como editor de texto puedes usar el que tú quieras, pero se recomienda este gran
editor desarrollado por Microsoft, también conocido como VS Code. Además, este
programa está escrito en JavaScript y TypeScript. Para instalarlo, descárgalo desde su
página web (https://code.visualstudio.com/) y sigue sus sencillas instrucciones para
cada plataforma.
Visual Studio Code trabaja con el concepto de carpetas de proyecto. Es decir, este
editor espera que escribamos todos los archivos relacionados con un mismo proyecto
dentro de una misma carpeta. Puedes encontrar más información en la sección de
documentación oficial de esta fantástica herramienta.
Lecciones magistrales
Introducción a Node.js
Garrett, J. J. (18 de febrero de 2005). Ajax: A New Approach to Web Applications [Blog
post].
En este artículo de Douglas Crockford se explica por qué JavaScript es un lenguaje tan
desestimado por la comunidad de desarrolladores.
Accede al artículo a través del aula virtual o desde la siguiente dirección web:
https://adaptivepath.org/ideas/ajax-new-approach-web-applications/
No dejes de ver
Interesante charla de uno de los gurús de JavaScript, Douglas Crockford, sobre los
inicios de este lenguaje y su evolución inmediata durante los primeros años de
existencia.
© Universidad Internacional de La Rioja (UNIR)
Accede al vídeo a través del aula virtual o desde la siguiente dirección web:
https://youtu.be/JxAXlJEmNMg
Otra visión sobre la historia de este lenguaje, pero esta vez de la mano de su creador:
Brendan Eich.
Accede al vídeo a través del aula virtual o desde la siguiente dirección web:
https://youtu.be/aX3ZABCdC38
Conoce al TC39
En este vídeo, varios miembros del comité TC39 de ECMA hablan de su manera de
trabajar durante las reuniones del comité.
Accede al vídeo a través del aula virtual o desde la siguiente dirección web:
© Universidad Internacional de La Rioja (UNIR)
https://youtu.be/Hj5q8uyqGYc
Accede al vídeo a través del aula virtual o desde la siguiente dirección web:
https://youtu.be/t7_5-XYrkqg
Accede al vídeo a través del aula virtual o desde la siguiente dirección web:
https://youtu.be/ztspvPYybIY
A fondo
Crockford, D. (2008). Good parts. En Autor, JavaScript: The Good Parts [ebook]. (S. l.):
O’Reilly; Yahoo Press.
JavaScript Bible
Goodman, D., Morrison, M., Novitski, P. y Gustaff, T. (2010). Javascript's Role in the World
Wide Web. En Autor, JavaScript Bible (pp. 3-14). Londres: Wiley.
Krill, P. (29 de junio de 2018). What’s new in ECMAScript 2018 [Blog post].
Lo último de ECMAScript 2018. En este post podrás leer las últimas novedades de la
especificación ECMA de 2018 (ES9).
Accede al artículo a través del aula virtual o desde la siguiente dirección web:
https://www.infoworld.com/article/3246058/javascript/whats-new-in-ecmascript-
2018.html
Webgrafía
Rhino
Accede a la página web a través del aula virtual o desde la siguiente dirección:
© Universidad Internacional de La Rioja (UNIR)
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino
D. ELM.