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://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:
- Derick Bailey blog
- Backbone
- Jeremy Ashkenas – Founder of Backbone
- Zepto.js
- Backbone.js Is Not An MVC Framework
- SproutCore
- Batman.JS
- Ember.js
- JavaScriptMVC
- Agility.js
- Knockout
- Spine
- CoffeScript
- Knockback
- Dericks Backbone data binding plugin
- Bocoup – Introducing the Backbone Boilerplate
- Backbone mailing list (Google Group)
- Backbone.Marionette
- BBCloneMail on GitHub
- BBCloneMail live on Heroku
- Backbone.Memento
- Underscore.js
- Joey Beninghove
- QUnit
- Jasmine
- jasmine-jquery
- Sinon.js
- Rob Conery refactors the Backbone.js todo list sample
- Derick’s list of Backbone resources
- Require.js
- backbonetraining.net
- watchmecode.net