Librerias y Frameworks de JavaScript

Como desarrolladores web la cantidad de librerías y frameworks disponibles en JavaScript puede ser un poco intimidante. ¿Cual debemos usar? ¿Debo usar una librería o un framework? ¿Cual es la diferencia?

Esta entrada tiene la intención de ser una pequeña introducción a principiantes del desarrollo web para que se puedan hacer una idea acerca de cuáles son las opciones y cuales son las diferencias entre ellas. Ya que hay tantas opciones, es importante saber cuales son y que nos ofrecen.

¿Cual es la diferencia entre una librería y un framework?

Esta es una pregunta muy frecuente, en pocas palabras una librería es un conjunto de métodos (y objetos, dependiendo del lenguaje de programación) que son reutilizables y que generalmente cumplen una función específica en particular. Podemos usar una librería simplemente creando un enlace (link) en nuestro código a la misma.

Un framework es más complejo. Es básicamente una (o varias) librería(s) que también nos dirige (o nos fuerza) a programar en cierta arquitectura (e.g. MVC). También nos ofrece ganchos del ciclo de vida para poder hacer llamados en momentos especiales de la aplicación y para poder extender la funcionalidad del mismo.

JQuery

Logo JQuery

Jquery, sin lugar a dudas es la librería más popular que existe en JS. Fué lanzada en el 2006 (!) por John Resig y se estima que el 50% de los websites usan JQuery, nada mal!

JQuery es una librería que es usada principalmente para manipular el DOM (Document Object Model). El DOM es una estructura (tipo árbol) que representa todos los elementos de una página web.

Con JQuery podemos seleccionar elementos de la página, crear animaciones, escuchar y utilizar eventos, hacer llamados AJAX, y mucho más. Una de sus grandes ventajas es que se encarga de las incompatibilidades entre los diferentes navegadores y promueve la separación del HTML y el código JS.

Aunque JQuery es extremadamente poderoso ha perdido popularidad en los últimos años. Los navegadores han avanzado mucho y las incompatibilidades ya no son tan grandes como lo eran antes. Y las API de los navegadores han avanzado mucho y es muy sencillo replicar funcionalidad que antes ‘solo’ se hacía en JQuery solo usando un par de lineas de JavaScript.

La popularidad de frameworks de página simple (SPA – Single Page Applications) pone una complejidad extra a la hora de usar JQuery, muchas veces es difícil integrar los dos sistemas y en su gran mayoría estos frameworks pueden hacer el mismo trabajo de JQuery. En una Aplicación de Página Simple el contenido es cargado dinámicamente cuando se necesita y no requiere recargar la página.

En todo caso, JQuery es una muy buena herramienta de trabajo y aprenderla bien nos enseña mucho solo el manejo del DOM.

Underscore

Underscore es una librería con más de 100 funciones que nos ayudan a manipular arreglos, objetos y demás. Fue lanzada en el 2009.

Una de las funcionalidades más avanzadas que Underscore es la de ayudantes de programación funcional (functional programing helpers). Algunos de los más conocidos son map, filter y reduce. La programación funcional ha tomado mucha fuerza en los últimos años pero es algo de lo que hablaremos en otra entrada.

D3.js

D3.js es una librería para la visualización de información. Es una excelente herramienta para crear gráficas personalizadas. Nos ofrece la opción de crear varias gráficos ‘a la’ excel como gráficos de barras y hasta en 3D!

La librería nos ofrece una API bastante completa en la cual podemos usar selectores para seleccionar y manipular elementos del DOM de una forma similar como lo hacemos  con JQuery.

React

React es una librería que salió en el 2013 y fue desarrollada por Jordan Walke mientras trabajaba en Facebook. Ahora tiene el apoyo de la misma compañía y es usado en cientos de miles de páginas web en el mundo.

Es usada para crear aplicaciones web pequeñas o grandes y es especialmente útil en la creación de páginas web interactivas. Según su página es una librería para crear Interfaces de usuario.

React usa JSX, que es una sintaxis tipo XML que combina JS con HTML. Es posible que JSX parezca un poco confuso cuando lo empezamos a aprender, pero tiene muchas ventajas que se hacen claras una vez lo hayamos usado por un tiempo.

React es una librería muy poderosa y muy popular, sin duda es una buena idea aprender a usarla.

AngularJS

AngularJS (conocido como Angular 1) en un framework frontend de JavaScript de código abierto creado y mantenido por Google. AngularJS salió en el 2010. Este framework fue creado para crear aplicaciones web. De la misma forma que React es un framework para crear aplicaciones de página simple (SPA).

AngularJS usa directivas que son añadidas al código HTML para extender la funcionalidad de nuestras aplicaciones y también usa enlace de datos doble.

Angular (2, 4 …)

Angular (conocido como Angular 2 aunque ya va en la versión 5), es un framework de código abierto para desarrollo front-end. Fue completamente recreado y no es simplemente una actualización de AngularJS. Las aplicaciones de AngularJS no funcionan en Angular 2. Este framework recomienda el uso de TypeScript.

Ambas versiones son actualmente actualizadas por Google constantemente.

Vue.js

Vue.js es un framework de código abierto creado por Evan You en el 2014 mientras trabajaba para Google.

La ventaja principal de Vue es que puede ser añadido progresivamente a una aplicación. No es necesario que toda la aplicación corra solo en Vue, partes de ella lo pueden hacer y otras partes pueden utilizar otros framework o solo JS.

Al igual que Angular (y otros) usa componentes, plantillas y enlace de datos doble. También utiliza un modo reactivo de crear aplicaciones donde cualquier cambio en los objetos JS que maneja el framework actualizará las plantillas que Vue utiliza para mostrar el DOM automáticamente, esto hace que las páginas muestren los cambios mucho más rápidamente.

 

 

11 septiembre, 2017

0 respuestas en "Librerias y Frameworks de JavaScript"

Deja un mensaje

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Aprende Fácilmente© Todos los derechos reservados