Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Backbone

Overview:

Backbone is lightweight, flexible and offers a minimalist solution to separating concerns in an application. It is not super opinionated and does not lock a developer into the Backbone way of doing things. Out of the box, the framework supports a persistence layer, RESTful sync, models, views, collections, event-driven communication, templating and routing. Developers are not locked into these constructs and have the ability to provide their own implementations.

Highlights:

  • Follows Model-View* 
  • Minimal size with about 800 lines of code
  • RESTful models
  • Simple views (Must provide view-rendering mechanism)
  • No impact on server architecture
  • No impact on file organization
  • Does not need to own the entire page
  • Choose your own template engine (String-based handlebars.js is most common).
  • Routing (optional)

Pros:

  • Backbone is incredibly simple, it only has four major components: Collections, Models, Views and a Router.
  • Allows developers the ability to easily override parts of the framework to suit custom needs.
  • Can leverage extension community to address common problems (i.e., MarionetteChaplin )

Cons:

  • Backbone's documentation lacks real world examples. Documentation is not detailed enough.
  • Backbone does not ship with baked-in solutions to common problems ( i.e., Form validation, sub-views and view rendering, etc.
  • Must Developers must either provide custom solutions to common problems or adopt a solution from the extension community.
  • While simple at the start, Backbone applications can become very complex and difficult.  

AngularJS

TBA