¿Qué es JavaScript?
JavaScript es el lenguaje de programación encargado de dotar de mayor interactividad y dinamismo a las páginas web. Cuando JavaScript se ejecuta en el navegador, no necesita de un compilador. El navegador lee directamente el código, sin necesidad de terceros. Por tanto, se le reconoce como uno de los tres lenguajes nativos de la web junto a HTML (contenido y su estructura) y a CSS (diseño del contenido y su estructura).
No conviene confundir JavaScript con Java, que es un lenguaje de programación muy diferente. La confusión proviene del nombre, registrado por la misma empresa creadora de Java (Sun Microsystems). JavaScript (JS) se creó posteriormente, y la empresa norteamericana lo que hizo simplemente fue cambiar el nombre que le habían puesto sus creadores al comprar el proyecto (LiveScript). El lenguaje de programación Java está orientado a muchas más cosas que la web desde sus inicios.
¿Para qué sirve JavaScript?
Con este lenguaje de programación del lado del cliente (no en el servidor) podemos crear efectos y animaciones sin ninguna interacción, o respondiendo a eventos causados por el propio usuario tales como botones pulsados y modificaciones del DOM (document object model). Por tanto, nada tiene que ver con el lenguaje de programación Java, ya que su principal función es ayudar a crear páginas webs dinámicas.
El código de programación de JavaScript se ejecuta en los navegadores, ya sean de escritorio o móviles, ya sean Android o Iphone. Sirve para exactamente lo mismo, da igual en el tipo de dispositivo que se ejecute el navegador.
JavaScript es capaz de detectar errores en formularios, de crear bonitos sliders que se adapten a cualquier pantalla, de hacer cálculos matemáticos de forma eficiente, de modificar elementos de una página web de forma sencilla. Pero también JS es el encargado de que existan herramientas como Google Analytics, Google Tag Manager, Facebook Pixel y tantas otras, que son claros ejemplos de JavaScript.
Existe una tecnología llamada AJAX que permite intercambiar información con el servidor sin tener que recargar la página. Es decir, sólo cargamos de la página lo necesario. Esta tecnología desarrollada en JavaScript ha supuesto uno de los principales avances en el desarrollo web. Aunque no la sepamos reconocer, es la encargada de que podamos conseguir más mensajes, tweets, emails…sólo pulsando un botón, sin tener que recargar la página.
JavaScript ahora mismo es el lenguaje más popular. De hecho, desde hace años se ha creado una versión que es capaz de ser ejecutada también en el lado del servidor (Node JS). Por tanto, ahora mismo se ejecuta JavaScript en los navegadores y en los servidores, creando a su alrededor una amplísima comunidad de desarrolladores casi full-stack. JavaScript del lado del servidor compite en igualdad de condiciones con PHP, por ejemplo.
Como casi todo lenguaje de programación, podemos hacer programación orientada a objetos en JavaScript. Sin duda alguna, la forma en la que se crean, modifican y se muestran los objetos en el navegador ha sido uno de los grandes causantes de su auge.
En la actualidad existen algunas prácticas, no demasiado recomendadas por los SEO, donde JS se encarga de numerosas funciones de estilo. Por ejemplo, muchos temas y plugins de WordPress utilizan scripts para hacer responsive el diseño web. Los navegadores modernos interpretan esto sin problemas, pero es posible que la araña de Google piense que no es la mejor manera de hacerlo.
La librería de JavaScript más utilizada en la historia, y que todavía se sigue utilizando es jQuery. Con jQuery podíamos hacer más cosas, escribiendo menos. Con una sintaxis mucho más sencilla, podíamos modificar nuestro sitio web, crear plugins, animar videojuegos y muchas cosas más. En la actualidad, jQueey ha perdido espacio en favor otras tecnologías más modelas como React o Angular.
Historia de JavaScript
La historia de JavaScript empieza a comienzos de los 90, cuando los usuarios llegan a Internet y acceden a la Web gracias a los navegadores. Las conexiones entre los usuarios y las webs se hace a través de líneas muy lentas. Cuando el usuario quiere enviar información al servidor, si es incorrecta, tarda un tiempo en saberlo…y pierde la información.
Los programadores tratan de conseguir validaciones en el navegador y así tener siempre envíos positivos y minimizar la pérdida de información. Esto fue una de las primeras motivaciones para crear JS, validar los formularios.
El programador Brendan Eich comienza a colocar tareas del servidor en el navegador en una nueva versión de Netscape Navigator 2.0 (del año 95). Esta tarea cada vez fue más ambiciosa, y recibió el nombre de LiveScript. Cuando posteriormente Sun Microsystems compró Nestcape, le puso el nombre de JavaScript, muy parecido al nombre del lenguaje del lado del servidor (Java) que no tiene absolutamente nada que ver.
La relación entre JavaScript y Java es puramente comercial, no hay relación a nivel de programación, no tienen nada que ver. Simplemente, la confusión surge por la compra de los creadores de Java del navegador Nestcape.
Justo en este momento comienza la Guerra de los Navegadores, donde cada uno comienza a tener su propia versión de LiveScript, como Microsoft (JScript) que no era compatible. El principio del fin de la guerra se produce en 1997, cuando se crea el estándar ECMAScript por parte de varias empresas.
Sin embargo, Internet Explorer comienza a potenciar su navegador con JavaScript, a aplicarlo a juegos, a mejorar la experiencia de usuario, a facilitar las tareas de los programadores…pero fuera del estándar.
Sin embargo, para hacer esta tarea de compatibilidad más sencilla surgieron librerías como jQuery y otras muy semejantes. La librería jQuery permitía programar JavaScript de forma sencilla y compatible para todos los navegadores.
Poco a poco, todos los navegadores tomaron el estándar (Internet Explorer, principalmente) y JavaScript se convirtió en un lenguaje de programación compatible con todos los navegadores, y la necesidad de utilizar jQuery fue menor.
Posteriormente, se empezó a utilizar JavaScript en el lado del servidor (NodeJS) como sustituto de otros lenguajes como Java o PHP. A día de hoy se sigue avanzando mucho en esta tecnología.
Libros con Ejemplos para aprender JavaScript desde Cero
Aunque existen muchas maneras de aprender JavaScript desde cero, lo mejor es hacerlo desde ejemplos claros y sencillos. Aquí una lista de libros para poder aprender JS y además tener una bases teóricas sólidas:
Aprender JavaScript Gratis
Es fácil aprender JavaScript gratis, hay muchos cursos en YouTube y en Udemy sobre cómo dar los primeros pasos de manera gratuita. Bien es cierto que para llegar a un nivel más alto habrá que pasar por caja, pero para el inicio recomiendo vídeos como éste de YouTube de Jon Mircha: