JavaScript, o JS para los íntimos, es uno de los lenguajes de programación más populares y utilizados en el mundo. Es un lenguaje interpretado, de alto nivel y multiparadigma (orientado a objetos, funcional, imperativo y prototipo). Con él, es posible desarrollar a partir de páginas dinámicas, aplicaciones para smartphones, sistemas complejos e incluso videojuegos.
Hoy vamos a aprender más acerca de lo que es JavaScript, cómo funciona y dónde podemos utilizar ese lenguaje.
Descargo de responsabilidad: JavaScript no es Java
El nombre es similar y causa mucha confusión, pero JavaScript NO es Java. Hay una breve relación en la creación del lenguaje, pero se detiene allí. Lo explicaré mejor en el siguiente párrafo.
Breve historia de JavaScript
Internet era muy diferente de cómo lo conocemos hoy en día, hubo un tiempo en que las páginas eran simplemente sitios web estáticos, aburridos y sin vida. En sus primeros días, la World Wide Web era sólo un gran grupo de páginas tabuladas escritas en HTML, con enlaces e imágenes llamativas. Con los años, y la popularización de Internet, las necesidades y funcionalidades se volvieron cada vez más complicadas y requerían una forma más avanzada de crear páginas que interactuaran mejor con los usuarios.
JavaScript fue creado por Brendan Eich en 1995 durante su tiempo en Netscape Communications (para la generación Z, Netscape fue uno de los primeros navegadores), quien, además de crear JavaScript, también fue uno de los fundadores de Mozilla Corporation. Inicialmente llamado Mocha, sus primeras versiones fueron utilizadas exclusivamente por Netscape y su desarrollo se inspiró en Java, Scheme y Self languages. A lo largo de la historia, Netscape terminó asociándose con Sun, un desarrollador de Java que quería utilizar la tecnología Netscape para fortalecer su lenguaje recién creado (Java), y luego comenzó a servir el lenguaje de scripting JavaScript como un compañero de Java, sin darse cuenta de la posible competencia que los dos eventualmente tendrían.
Durante un tiempo, la lucha por el espacio de otras tecnologías web mantuvo JavaScript algo "congelado" y con cierto rechazo de algunos desarrolladores. Pero alrededor del año 2000, Douglas Crockford, uno de los grandes responsables de la popularización del formato JSON y, en consecuencia, del redescubrimiento de JavaScript, entonces en poco tiempo el lenguaje ganó fuerza y dominó el mundo de Internet gracias al trabajo de desarrolladores independientes y una comunidad en crecimiento. JavaScript se convierte cada vez más en un lenguaje robusto y multiapropéción, prácticamente un Bombril con sus mil y una utilidades.
¿Cómo funciona?
Las computadoras no entienden JavaScript, los entornos sí.
JavaScript es un lenguaje interpretado y nocompilado para el código de máquina, es decir, JavaScript no convierte mucho de 1 y 0, por lo que "los ordenadores no entienden javascript". Para que esto suceda, el lenguaje necesita un motor y un entorno de tiempo de ejecución para que funcione.
Un motor JavaScript es un programa "C++ escrito" (no todos los motores son, por ejemplo), que es un lenguaje compilado que el equipo puede entender y ejecutar, por lo que el motor pasa a través de todo el código JavaScript y lo convierte en algo que el procesador del equipo puede entender y ejecutar – código de máquina. Este motor funciona dentro de un contexto, que constituye nuestro entorno de tiempo de ejecución, como en el caso del navegador Chrome y NodeJS, ambos utilizan el mismo motor pero tienen algunos contextos y funcionalidades diferentes. Tenemos algunos motores famosos, el mencionado V8 funciona en Chrome, Opera y Node y fue desarrollado por Google, ya Firefox se embarca en el motor SpiderMonkey desarrollado por Mozilla.
Y todo este contexto hace de JavaScript un lenguaje de alto nivel, el motor es responsable de toda la abstracción y el problema de comunicarse con la máquina, haciendo el desarrollo más fácil y optimizado.
Ecmascript
JavScript sigue las especificaciones definidas en ECMAScript, una especificación de lenguaje de programación basada en scripts que Ecma International estandariza y mantiene. Está diseñado para estandarizar lenguajes de scripting y ayudar a organizar las diversas implementaciones independientes del lenguaje.
¿Para qué es?
JavaScript es un lenguaje muy versátil, con una comunidad que crece cada día, y sus aplicaciones también, lo que lo convierte en una opción popular para las empresas con personal reducido: JavaScript, un lenguaje para gobernarlos todos. Probablemente escucharás muchas verdades jocosas que cada 5 minutos nace una biblioteca hecha en nuevo JavaScript…
JavaScript en el navegador
Como aprendimos antes, este lenguaje nació para dar vida al navegante y se mantiene firme y fuerte en su objetivo. Anteriormente el marco principal y prácticamente único de Internet era jQuery (en realidad actualmente más de 70 millones de sitios todavía se ejecutan con jQuery), pero con el avance de los motores y la capacidad de procesamiento de ordenadores y teléfonos móviles, han surgido nuevos, más robustos y complejos marcos para mejorar la experiencia del usuario.
Algunos de los marcos más populares hoy en día:
- ReactJS – Desarrollado y mantenido por Facebook, y abierto a la comunidad.
- VueJS – Desarrollado y mantenido por Evan You (ex Google), y abierto a la comunidad.
- Angular – Desarrollado y mantenido por Google, y abierto a la comunidad.
JavaScript en backend con NodeJS
En 2009, Node.js fue desarrollado por Ryan Dahl alrededor de V8; Esencialmente como una forma de ejecutar programas JavaScript fuera del contexto de un navegador. Echa un vistazo al artículo Después de todo lo que es NodeJS, donde explico mejor la historia de NodeJS y cómo funciona.
En el ejemplo siguiente, tenemos un script simple que consume un recurso de Internet que contiene todos los datos de Pokemons y devuelve la información de Pikachu:
JavaScript en desarrollo móvil
JavaScript tiene buenas bibliotecas para el desarrollo móvil, convirtiéndose en una buena alternativa al desarrollo nativo. Con una sola base de código, pudimos desarrollar páginas web, aplicaciones iOS y Android. Algunas aplicaciones famosas como Facebook, Instagram y Airbnb se desarrollan con JS. Estos son algunos de los marcos más famosos:
En el ejemplo siguiente tenemos una aplicación de calculadora construida con React Native:
JavaScript en IoT
Su amplia portabilidad también permite la programación de dispositivos integrados. Bibliotecas como Johnny-Five le permiten desarrollar para Arduino, Tessel 2, Raspberry Pi, Intel Edison, Particle Photon, y más… usando JavaScript, el lenguaje se compila en el idioma nativo de cada dispositivo.
var cinco - require("johnny-five");
var board - nuevos cinco. Junta Directiva();
board.on("ready", function()
var llevó a los cinco nuevos. Led(13);
led.blink(500);
});
JavaScript para el desarrollo de juegos
Y por último, gracias a los grandes avances en las mejoras de rendimiento del motor y las nuevas características integradas en los navegadores, podemos crear juegos que se ejecutan directamente en el navegador:
Más ejemplos de juegos hechos con JavaScript se pueden encontrar en este enlace.
¿Dónde aprender a programar con JavaScript?
Si usted ha estado emocionado por el lenguaje y todas sus aplicaciones, tengo buenas noticias para usted! Hay varios buenos materiales en Internet, también se pueden encontrar buenos cursos en Udemy.