Slides for my workshop at Betabeers Córdoba, AN. It's an overview of Backbone.js and it's explained with an example application available at Github. Enjoy
by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface. http://backbonejs.org
app. Simplifica la persistencia en el server-side. Desacopla el DOM de los datos. Sincroniza modelos, colecciones con el DOM. “Get your truth out of the DOM” Jeremy Ashkenas
aplicación. Vistas que se suelen asociar a UI. Controladores que manejan la interacción. Backbone.js delega responsabilidades del controlador en las vistas y convierte el controlador en el router
elemento del DOM Al hacer el switch entre vistas, el navegador no cambia de URL Para eso ofrece Backbone.js el router. Until recently, hash fragments (#page) were used to provide these permalinks, but with the arrival of the History API, it’s now possible to use standard URLs (/page). Backbone.Router provides methods for routing client-side pages, and connecting them to actions and events http://backbonejs.org
history Se suele llamar a start incluyéndolo en un método del router A tener en cuenta utilizando pushState API: El server debe ser capaz de generar la página Los eventos se deben disparar a mano
mismo DOM element. La instancia de modelo cambia, la vista se re-renderiza; es un gran problema. Memory leak: declarar constantemente instancias. Siempre que sea posible hay que instanciar los objetos una vez. RESTful applications: el mapping entre ids debe estar en armonía. Buena integración, pero hay que pensarlo siempre. Otros... Aspectos importantes
DELETE /films Obtener lista de films Crear nuevo film -‐-‐ -‐-‐ /films/id Obtener un film -‐-‐ Modificar un film Eliminar un film Posibles peticiones al server