In this episode, the guys talk with Derick Bailey (consultant and founder of watchmecode.net, where he sells JavaScript themed screen casts) about Backbone.js, which is a popular JavaScript framework.

Download / Listen:

Herding Code 133: Derick Bailey on Backbone.js

[audio:http://herdingcode.com/wp-content/uploads/HerdingCode-0133-Derick-Bailey-on-Backbone.mp3] Show Notes:
  • Derick starts off by explaining what Backbone is not: a JavaScript MVC framework.
  • Backbone provides a way to structure and organize your code, separating responsibilities in to easily recognizable pieces.
  • Derick points out that Jeremy Ashkenas, the creator of Backbone, said that Backbone is a library. The distinction Derick references is: "a framework calls your code, you call a library's code."
  • Kevin asks what are the main parts of Backbone. Derick mentions models and collections, views, routers, and some helpers: backbone.sync, backbone.events, and history.
  • Kevin asks for a clarification on what a single-page application is. Derick cites Gmail as the canonical example.
  • Kevin asks if Backbone is mainly used for single-page applications. Derick explains that it is very flexible and can be used as much or as little as necessary for any kind of application.
  • Jon asks if using Backbone is an all or nothing proposition or if bits and pieces can be brought in over time.
  • Kevin asks for a comparison to other similar JavaScript libraries/frameworks.
  • Jon asks if there are any template or boiler plate projects for getting started with Backbone.
  • K. Scott asks about Derick's Memento plugin, which allows you to store and restore your model's state.
  • Kevin asks Derick why he thinks Backbone has become so popular.
  • Jon asks about the process and requirements for creating Backbone plugins.
  • Jon asks about the debugging story when using Backbone.
  • Kevin asks about tools and approaches for testing Backbone.
  • Kevin asks if there are any sources for best practices for Backbone.
  • Twitter questions from @elijahmanor: "In what type of applications would you not recommend using Backbone?", "Do you plan to consolidate your blog posts into a Backbone book?", "Have you done any mobile development with Backbone?, "Do you use Require.js alongside Backbone?"
  • Kevin and Derick discuss server-side rendering of JavaScript with Backbone for the purpose of being easily findable by search engines.
  • Derick talks about the on-site training and training videos that he offers.

Show Links: