• Skip to primary navigation
  • Skip to content
  • Skip to footer
  • Sobre mí
  • Servicios
  • Blog
  • Contacto

Tutorial de Backbone.js

4 diciembre, 2011 by alfonso 21 Comments

Llevo un tiempo analizando y aprendiendo a trabajar con la librería Backbone.js y me parece una librería estupenda para desarrollar aplicaciones JavaScript. El mayor problema que estoy encontrando es la falta de tutoriales y documentación al respecto, y por ese motivo he decido crear un pequeño tutorial donde se analice el funcionamiento de la librería. Este tutorial lo iré desarrollando poco a poco en distintas entradas, intentando resaltar los aspectos más importantes y analizando cada uno de sus componentes.

Introducción

Backbone es una excelente librería para construir aplicaciones JavaScript que nos ofrece la posibilidad de estructurar nuestro código siguiendo el patrón MVC (Modelo, Vista, Controlador). Como su nombre indica, el objetivo de esta librería es formar parte de la columna vertebral de nuestra aplicación ofreciéndonos únicamente la funcionalidad necesaria para que puedas estructurarla correctamente. De hecho, esa es una de sus grandes virtudes pues se centra únicamente en proporcionarte conceptos básicos como modelos, eventos, colecciones, vistas, routing y persistencia. En tan solo 4KB Backbone proporciona un marco de trabajo estupendo que podremos utilizar como complemento a jQuery.

Una librería JavaScript como jQuery es extremadamente útil para seleccionar y modificar elementos del DOM, uso homogéneo de AJAX o generación de efectos y animaciones, pero a la hora de hacer una aplicación web de una única página donde gran parte de la funcionalidad reside en código JavaScript, rápidamente descubrirás que no es suficiente. En cuanto incluyas ciertas funcionalidades a tu aplicación te verás sobrepasado por una gran pila de selectores y callbacks sin estructura alguna que estarán lidiando directamente con los elementos DOM.

Como veremos, en Backbone los datos los introducimos en modelos que podremos crear, validar, destruir y salvar en el servidor, ofreciendo un conjunto de eventos que se dispararán cuando el modelo cambie. También se podrán asociar a vistas que serán notificadas de dichos cambios para que puedan actualizar su contenido; agruparemos los modelos en colecciones y podremos implementar las distintas funcionalidades de nuestra aplicación utilizando routers que nos mapearán distintas rutas de aplicación con funciones específicas.

Descarga y puesta a punto

La única dependencia que tiene Backbone es underscore.js, una librería llena de utilidades y funciones JavaScript de propósito general creada por la misma gente de Backbone, y entre las funcionalidades que ofrece se encuentran la manipulación de arrays, el enlazado de funciones (binding) o templates JavaScript. Por otra parte, Backbone no realiza ninguna operación de manejo y modificación del DOM o tratamiento de AJAX,  por lo que las vistas delegan dichas funcionalidades a librerías como jQuery o Zepto.js.

Por ese motivo, para la realización de los distintos ejemplos de este tutorial deberíamos crear una página HTML que se encargase de incorporar todos estos elementos:

<script type="text/javascript" src="js/jquery.js">// <![CDATA[
mce:0
// ]]></script><script type="text/javascript" src="js/underscore.js">// <![CDATA[
mce:1
// ]]></script><script type="text/javascript" src="js/backbone.js">// <![CDATA[
mce:2
// ]]></script><script type="text/javascript" src="js/examples.js">// <![CDATA[
mce:3
// ]]></script>

<script type="text/javascript" src="js/jquery.js">// <![CDATA[ mce:0 // ]]></script><script type="text/javascript" src="js/underscore.js">// <![CDATA[ mce:1 // ]]></script><script type="text/javascript" src="js/backbone.js">// <![CDATA[ mce:2 // ]]></script><script type="text/javascript" src="js/examples.js">// <![CDATA[ mce:3 // ]]></script>

Como podrás imaginar, en el fichero examples.js será donde vayamos introduciendo nuestro propio código.

Partes de este tutorial

Como he comentado al principio, este tutorial lo voy a desarrollar a lo largo de varias entradas, una por cada tema a tratar. A continuación os muestro los distintos temas que abordaremos:

  1. Eventos
  2. Modelos
  3. Colecciones
  4. Vistas
  5. Routers
  6. Sincronización y persistencia

Al final del tutorial intentaré abordar la creación de una aplicación completa que pudiera de servir como ejemplo práctico, pero no me comprometo a ello 🙂

Actualizaciones

Este tutorial se basa en la versión 0.5.3 de Backbone. Mi intención es ir actualizándolo según vayan incluyendo nuevas funcionalidades en versiones posteriores.

19 – 08 – 2012 – Novedades en Backbone 0.9.2

  • Facebook
  • Twitter
  • Google+

Desarrollo Web backbonejs,  tutorial

Reader Interactions

Comments

  1. Pedro says

    22 diciembre, 2011 at 9:27 pm

    Muchas Gracias por esta serie de tutoriales, ayuda tener toda esta informacion y en castellano

    Responder
  2. German says

    13 marzo, 2012 at 8:49 pm

    Excelente información, de verdad me ha ayudado mucho, un abrazo!!!

    Responder
  3. sebastian says

    27 marzo, 2012 at 6:32 am

    Muchas gracias por compartir tus conocimientos . Seguire tus tutoriales

    Responder
  4. Edward says

    9 abril, 2012 at 3:51 pm

    Estoy empezando a trabajar con backbone y esto ha sido un gran aporte!, muchas gracias

    Responder
  5. Javier says

    23 junio, 2012 at 4:08 pm

    Felicitaciones, un tutorial de gran simplicidad y calidad.

    Responder
  6. Luis Manuel Ruiz says

    27 junio, 2012 at 6:37 pm

    Muy buen tuto, muchas grácias.

    Responder
  7. Antonio says

    1 julio, 2012 at 6:49 pm

    Son pocas las páginas en español, este tutorial es un gran aporte. Gracias miles!

    Responder
  8. Pablo says

    8 julio, 2012 at 5:18 pm

    Para mi es un descubrimiento, gracias por el trabajo y por compartirlo, seguiré el tutorial de cerca.

    Abrazos!

    Responder
  9. Guillermo says

    15 julio, 2012 at 3:18 am

    Alfonso, mil gracias por el tutorial, hay muy poca documentacion en español !!!

    Responder
  10. Cristian Martín says

    25 julio, 2012 at 12:34 pm

    Muchas gracias por este tutorial. Me había medio leído la documentación de Backbone y no había sacado nada en claro, pero con tu trabajo he visto la luz.

    Responder
  11. Axel says

    7 septiembre, 2012 at 8:23 pm

    Está genial el tutorial, muy completo.
    Creo que les puede interesar una presentación sobre backbone que preparé con un ejemplo de cómo hacer una aplicación de chat

    http://axelhzf.com/chat/

    Responder
    • Alfonso Marín says

      10 septiembre, 2012 at 9:27 am

      Gracias Axel por la aportación, tiene una pinta tremenda. Yo estoy intentando sacar tiempo para hacer una aplicación de ejemplo, pero todavía estoy en ello.

      Responder
  12. alegg says

    19 septiembre, 2012 at 6:41 pm

    Me ha servido mucho este material. Como dices, no se encuentran muchos tutoriales de calidad como este.

    Responder
  13. Jesús S. Rubio says

    7 noviembre, 2012 at 1:17 am

    Gracias por esta introducción a backbone en español; me ha ayudado a comprender la forma de desarrollar con ella.

    Responder
  14. Ale Prieto says

    3 marzo, 2013 at 1:44 pm

    ¡genial! ¡muchas gracias!

    Responder
  15. Cristian says

    3 abril, 2013 at 1:22 am

    Excelente tutorial, la verdad es uno de los mejores que he encontrado en español. Lo uso como recordatorio al mismo tiempo que desarrollo, por lo que me es muy útil..
    Gracais!

    Responder
  16. Luis says

    4 mayo, 2013 at 2:58 pm

    Impresionante , esta librería aparecio en mitad de un desarrollo de WordPress y me había asustado.

    Responder
  17. Nicolas says

    20 diciembre, 2013 at 1:15 am

    Muchas gracias, es uno de los mejores tutoriales que vi aunque algunas cositas todavía no me cierran. Vengo muy acostumbrado de angular y backbone se me hace muchísimo mas trabajoso.

    Responder

Deja una respuesta Cancelar la respuesta

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

Footer

  • LinkedIn
  • RSS
  • Twitter
  • Aviso legal
  • Política de privacidad
  • Política de cookies
  • Contacto

Copyright ©2025 · Alfonso Marín Marín - Todos los derechos reservados ·

Usamos cookies para asegurar que te damos la mejor experiencia en nuestra web. Si continúas usando este sitio, asumiremos que estás de acuerdo con ello.Aceptar