JavaScript abreviado y conocido también como JS es un lenguaje basado en la especificación ECMAScript creado por Brendan Eich para Netscape originalmente con el nombre de Mocha (por cierto el nombre de JavaScript no tiene mayor relación con el lenguaje de programación Java, fue simple estrategia al nombrarlo JavaScript).

JavaScript se define como orientado a objetos, basado en prototipos, imperativo, débilmente tipado y dinámico.

¿ Interesante, no ? Es por eso que quiero hablar de este lenguaje e ir haciendo publicaciones explicando sobre sus conceptos y uso, ya que lo considero uno de los lenguajes más importantes y sobresalientes de internet hasta los últimos tiempos, ya que ha tenido bastante auge gracias a tecnologías como NodeJS, y no solo por su popularidad y extensión, sino por las ventajas y bondades que el lenguaje nos ofrece y que es bastante útil e interesante de aprender.

Este lenguaje a mi punto de vista no es un lenguaje sencillo, hablando por ejemplo de su evolución, el lenguaje ha tenido cambios algo drásticos al pasar los años. Actualmente JavaScript cuenta con estándares definidos por fechas, por ejemplo el definido ECMAScript 2015 ( también conocido como ES2015 ).

ECMAScript 2015 es un estándar de ECMAScript que fue ratificado en junio de 2015.

ES2015 es una actualización significativa del lenguaje y la primera actualización importante del lenguaje desde que ES5 se estandarizó en 2009. La implementación de estas características en los principales motores de JavaScript que está en marcha ahora.

Consulte el estándar ES2015 para la especificación completa del lenguaje ECMAScript 2015.

Fuente: https://babeljs.io/learn-es2015/

Como podemos darnos cuenta estos estándares son bastante importantes para el lenguaje, van haciendo pautas y versiones del lenguaje, y es por ello que vale la pena revisar y aprender a utilizar estos estándares correctamente.

JavaScript fue creado para otorgar dinamismo al lenguaje HTML, ya que HTML es un lenguaje de marcado y no cuenta con las funciones y posibilidades que los lenguajes de programación nos ofrecen, me refiero por ejemplo que HTML carece de ( ciclos for o while, funciones o inclusión importación de módulos por si solo, etc), claro está que HTML es un lenguaje de marcado y no un lenguaje de programación; JavaScript fue creado entonces para hacer que las páginas web pudieran por ejemplo: cachar eventos del teclado y el mouse, modificar en tiempo real elementos del DOM, realizar peticiones asíncronas HTTP al servidor, entre muchas otras cosas.

Recuerdo mis primeros pasos en la creación de sitios web cuando cursaba la secundaria (jaja ya sé, ya llovió), en la que dotar de código JavaScript a las páginas de internet lo hacía bastante divertido en lo que te sentías todo un prodigio de la informática (jaja), poner un mensaje de bienvenida al sitio web con un simple alert:

alert("Bienvenido a mi página de internet :D ");

En aquellos tiempos era algo que me parecía o me hacía sentirme "pro" (cosas de la niñez xD) hoy en día el panorama ha cambiado, abusar del código JavaScript en los sitios web es algo desagradable para muchos internautas que visitan los sitios, incluso utilizar Javascript para ciertos sitios puede ser innecesario, y puedo mencionar algunos ejemplos:

1- Abusar de JavaScript para realizar tareas que el mismo CSS puede realizar (me refiero por ejemplo a crear menús complejos con JS cuando se puede lograr lo mismo con CSS).

2- Cuando implementamos WebServices (los webservices responderán con los datos solicitados, comúnmente en XML, JSON, YAML) los webservices no son sitios regularmente navegables, por eso son webservices y es una tecnología que utiliza un conjunto de protocolos y estándares que sirven para intercambiar datos entre aplicaciones no para hacer sitios navegables por usuarios con experiencia de uso en JS.

3- Paginas en las que necesitamos que puedan ser visualizadas con una simple petición HTTP, y que puedan ser vistas desde los navegadores más "primitivos" o por ejemplo curl $curl http://una-dirrecion-web-aqui.com o ser navegable incluso desde la terminal con lynx.

4- Si bien JS es altamente utilizado para la validación de datos de entrada por ejemplo formularios o componentes de búsqueda, hay que recordar que su uso excesivo o mal programado se presta para ataques del tipo XSS o incluso manipulación de cookies desde JavaScript e infinidad de cosas que se pueden hacer, recordemos que toda validación del front-end tiene que existir también en el back-end ya que el código JavaScript puede ser evadido o desactivado con facilidad en cualquier navegador por parte del atacante. (Conozco muchos programadores que incrustan código excesivo de plugins JS a sus sitios sin nisiquiera conocer las vulnerabilidades a las que pueden ser expuestos o cuando menos entender bien todo lo que hace el código que están agregando, esto es todo un riesgo).

Por otra parte JavaScript en la actualidad es utilizado también para desarrollar  aplicaciones de escritorio (quién lo hubiera pensado en sus inicios, siendo un lenguaje para navegadores) en la cual existen procedimientos para ir convirtiendo su código a código nativo de la plataforma, o encapsulando y corriendo el código JS de la aplicación por medio de engines, como lo es el motor de Javascript V8. En publicaciones posteriores mencionare y analizaré las tecnologías Electron y Meteor para complementar mejor este tema.

También cabe mencionar que Javascript es tan flexible al grado de existir cosas como TypeScript que extiende la sintaxis de JavaScript del cual sinceramente después de revisarlo y utilizarlo no soy simpatizante (este es otro tema que posiblemente abordaré en otra publicación). El incremento de uso y popularidad de JavaScript en estos tiempos se ha intensificado por los frameworks, tales como: (el ya bien conocido jQuery), AngularJS, React, VueJS, etc. ( un programador de JavaScript tiene mucha madera de donde cortar en estos tiempos).

Finalmente para este post concluyo que es importante aprender este lenguaje para cualquier programador, independientemente de las críticas y defectos que tenga el lenguaje o lo difícil que sea o no para alguien abordar la curva de aprendizaje, definitivamente pienso que estamos inmersos en una era en la que JavaScript es medular en muchas tecnologías populares. JS llega a ser fundamental en conocimiento para cualquier informático, ya sea en temas de seguridad, no se diga para programadores web, o incluso diseñadores gráficos o cualquier otra persona que este medianamente involucrada con el desarrollo de aplicaciones, innegablemente hay mucho conocimiento que rodea a JavaScript.

Seguiré con más temas sobre JavaScript, hasta la proxima.


-Un monster penguin de la gran comunidad GNU/Linux-