El auge de JavaScript

Actualmente, JavaScript se ha convertido en uno de los lenguajes de programación de aplicaciones web más populares, a pesar de que nació tímidamente como una extensión de HTML para dar interactividad a las páginas web.

Inicialmente se empleaba para realizar operaciones únicamente en el marco de la aplicación cliente, sin acceso a funciones del servidor. Sin embargo, junto con ayuda de otras tecnologías como AJAX, rápidamente pasó a ser utilizado para enviar y recibir información del servidor y, a día de hoy, ha traspasado fronteras para llegar a instalarse como un lenguaje referente en el desarrollo de aplicaciones tanto del lado servidor (backend) como del lado cliente (frontend).

Principal ventaja de JavaScript

La ventaja más característica de JavaScript es que puede ejecutarse en el navegador del usuario en lugar de en el servidor, haciendo de este modo que el primero responda con rapidez y las aplicaciones se presenten más sensibles a la interacción con el usuario, ofreciendo con ello una navegación más rápida.

A diario, cualquier usuario se encuentra con situaciones que reflejan esta cualidad. Entre las más típicas destacan las animaciones de los elementos de página o de los contenidos interactivos de las mismas, como pueden ser las reproducciones de audios o vídeos; la validación de los valores de entrada de un formulario directamente en el navegador del usuario antes de ser enviados al servidor; el cargar contenido nuevo para una página o el envío de datos al servidor (a través de AJAX) sin necesidad de recargar la página de nuevo; o la transmisión de información relativa a los hábitos de lectura de los usuarios y las actividades de navegación.

La consecuencia primera de todo esto es el incremento de la satisfacción del usuario y, después, la reducción de la carga de procesamiento del servidor.

Principal inconveniente de JavaScript

El principal inconveniente de JavaScript viene derivado del tipo de lenguaje que es: un lenguaje de programación interpretado. Esto significa que la mayor parte de los errores no son detectados hasta que no se ejecutan los scripts, los cuales deben ser probados en todos y cada uno de los navegadores sobre los que se vaya a emplear.

Cuando se encuentra un error, son los propios navegadores los que habitualmente nos indican dónde podría localizarse y cómo podría solucionarse. No obstante, no todos proporcionan la misma información útil, lo que dificulta la resolución del problema. Cabe destacar que, entre los navegadores más populares, Internet Explorer es el que peor servicio da respecto a la resolución de este evento. El caso contrario es el de Firefox.

Desarrollo en JavaScript

Con el paso del tiempo, el desarrollo con JavaScript se volvía en ciertos casos engorroso. Es por ello que han ido apareciendo diferentes herramientas (plugins, librerías, Frameworks, etc.) con el objetivo de facilitar el desarrollo en el mismo.

Entre las más populares tenemos:

  • jQuery:

Librería que hace más fácil algunas expresiones al mejorar la gestión del espacio de nombres, evitando de este modo el uso de variables globales. La sintaxis de jQuery es más fácil de recordar que la de JavaScript. Además, cabe destacar que permite programar nuevas funcionalidades por medio de plugins.

  • jQuery UI:

Conjunto de recursos JavaScript y CSS que facilitan la construcción de interfaces avanzadas con un alto grado de interactividad, haciendo más atractivas las aplicaciones web.

  • jQuery Mobile:

Librería jQuery reducida y optimizada para el desarrollo de aplicaciones en dispositivos móviles.

  • React:

Librería desarrollada por Facebook y diseñada únicamente para la interfaz gráfica. Cada vez va adquiriendo más notoriedad entre los usuarios. En gran parte, debido a la velocidad de renderizado al emplear un DOM Virtual para ello. Es reseñable el patrón de diseño Flux, creado por Facebook para el desarrollo con React para componetizar nuestras aplicaciones.

  • Bootstrap:

Es un Framework libre creado por un empleado de Twitter. La maquetación a través del uso de sus clases CSS es muy sencilla. Proporciona un aspecto elegante y moderno a los elementos HTML de una página web. Su principal aportación es el diseño adaptativo o reponsive design, que permite adaptar la interfaz al tamaño del dispositivo en el que se visualice.

  • BackboneJS:

Es el primer Framework MVC (Modelo – Vista – Controlador) que destacó. Es muy ligero y flexible, lo que permite usar cualquier sistema de plantillas así como otras librerías.

  • Angular JS:

Es uno de los Frameworks más recientes desarrollado por Google. Incluir funcionalidades propias para las que otros Frameworks como BackboneJS necesitaban de librerías externas, ha hecho que los supere en popularidad.

Posee un sistema de módulos propio, así como su propio sistema de plantillas y servicios para traer datos vía AJAX sin necesidad de librerías externas. Todo esto lo hace un framework más pesado, pero a la vez más potente.

Su principal inconveniente es su curva de aprendizaje. Sin embargo, una vez absorbidos sus conceptos, seremos capaces de desarrollar aplicaciones con más rapidez.

  • Ionic:

Librería similar a Phonegap pero basada en Angular. Facilita la creación de aplicaciones móviles tanto para Android como para iOS programando únicamente en JavaScript.

NodeJS

En 2009 Ryan Dahi revolucionó el mundo de JavaScript con la creación de un entorno en tiempo de ejecución multiplataforma, asíncrono y basado en el motor V8 creado por Google.

NodeJS es un entorno del lado servidor basado en eventos que ofrece un gran rendimiento.

Su característica más reseñable es la programación asíncrona o, lo que es lo mismo, la capacidad de realizar acciones que requieran un tiempo de ejecución sin necesidad de mantener en espera otros procesos. Esto lo convierte en un entorno servidor que puede soportar decenas de miles de conexiones concurrentes.

Conclusiones

El aumento de la popularidad de JavaScript se debe, como ya hemos visto, a las grandes prestaciones que ofrece de cara a la creación de páginas web en las que se pretenda una alta interacción con el usuario, lo que permite crear aplicaciones potentes, rápidas y con un gasto eficiente de memoria.

Tal es su renombre en las aplicaciones web que ya se empiezan a desarrollar aplicaciones enteras sobre una infraestructura JavaScript conocida como MEAN (MongoDB – Express – AngularJS – NodeJS), compuesta respectivamente por una base de datos, un FrameWork para crear servidores sobre NodeJS, un FrameWork para crear la parte cliente de la aplicación y el entorno servidor que proporciona las funcionalidades para nuestra aplicación.

The following two tabs change content below.

Fausto López

Soy una persona alegre, positiva, en formación continua, responsable e implicado en todo lo que hago. En lo personal soy muy familiar, me encanta bailar, ir al cine y viajar.

Latest posts by Fausto López (see all)

Compartir: