Cover by Mike Wilson

Safari, the world’s most comprehensive technology and business learning platform.

Find the exact information you need to solve a problem on the fly, or go deeper to master the technologies and skills you need to succeed

Start Free Trial

No credit card required

O'Reilly logo

Chapter 3. Backbone.js

Backbone.js is a Model-View-Controller (MVC) framework for client-facing JavaScript. Anyone who has spent time working with JavaScript projects larger than trivial in size has seen how quickly the language spirals into a web of callbacks and pyramid code. When writing code for the web browser, it is almost inevitable to find display-specific code leaking its way into your application logic. Over time, the code mix becomes heavier and harder to maintain. Changes to the domain logic affect the view and vice versa.

Backbone aims to solve the code coupling problem by providing a model-view framework with templates that separate programming concerns in a way that should feel familiar to developers coming from either a desktop application or server side programming background.

It isn’t possible to talk about Backbone without also discussing Underscore.js, Backbone’s prerequisite helper library. Underscore provides functional programming support in the form of utility functions like map/reduce, array iteration and filtering, and advanced object binding and chaining. jQuery or Zepto, although not strictly required, are supported by Backbone. jQuery in particular will play a role in the application developed over the course of this book.

Model

Models form the nucleus of your Backbone application. Although models may be transient app-only creations, in most cases the model will represent an object stored in a database.

Backbone’s philosophy has models responsible for storing, ...

Find the exact information you need to solve a problem on the fly, or go deeper to master the technologies and skills you need to succeed

Start Free Trial

No credit card required