Apéndice B: Bibliotecas de terceros

Cuando nos metemos al desarrollo de un sitio web, es común encontrarse con necesidades que pueden ser cubiertas fácilmente por código de otras personas. De esta forma, podemos ahorrar mucho tiempo y confiar que nuestro código funcione sobre el código de otros. Estas son algunas bibliotecas útiles en cualquier desarrollo web.

jQuery

jQuery es la biblioteca más popular de JavaScript y resuelve uno de los más grandes problemas en el desarrollo web: El código cross-browser. Hace muchos años, se tenía que crear dos versiones del mismo código: una para Netscape y otra para Internet Explorer. Cuando Netscape desapareció y apareció Firefox, se dio el mismo caso, una vez más con Internet Explorer del otro lado. Si a eso le sumamos otros navegadores, como Opera o Safari (para Mac OS), el código crece rápidamente.

jQuery tiene documentación con ejemplos, dividida en las siguientes secciones:

Zepto

Zepto es una biblioteca similar a jQuery, aunque de menor tamaño. Zepto le da soporte solo a navegadores modernos, como:

Y soporta parcialmente:

Esto difiere de jQuery, que soporta a todos los navegadores posibles en su rama 1.x (la versión 2.0 de jQuery en adelante soporta solo navegadores modernos).

Una característica importante de Zepto es que la biblioteca por defecto contiene ciertos módulos: Core, Events, Ajax, Form, IE. Si se desea tener la biblioteca con todos los módulos, se debe construir la biblioteca desde el código fuente.

Underscore.js

Underscore es una biblioteca que contiene métodos necesarios para realizar operaciones con arreglos, objetos, colecciones (arreglos u objetos) y funciones. Así mismo, contiene otras funciones utilitarias.

Underscore tiene su código fuente comentado, información muy útil para aprender cómo mejorar nuestro propio código.

Dentro de los métodos más populares dentro de Underscore, se encuentran:

Moment.js

Moment permite manejar fechas de una forma mucho más completa que lo ofrecido por defecto. No solo permite mostrar una fecha en diferentes formatos (que puede ir desde 31/12/2014 hasta miércoles, 31 de diciembre de 2014 0:00), si no que permite mostrar fechas en diferentes idiomas (79 idiomas hasta ahora) y permite realizar operaciones entre fechas.

Adicionalmente, existe una biblioteca llamada Moment Timezone que permite manejar fechas entre zonas horarias, así como darles formato y realizar todas las operaciones disponibles en Moment.js.