Wand released!

After a lot of hard work, the first iteration of Wand, a new JavaScript library I’ve been co-authoring, has seen its first alpha release today:


Wand is a collection of tools for HTML5/JavaScript web app development, built on RequireJS, Backbone, Underscore and jQuery.

It is aimed primarily at Backbone-based web app development, but many of the modules don’t require it as a dependency, meaning it can be used in conjunction with other frameworks and utilities.

The library is designed to be as modular as possible, so use the features you want, and let RequireJS handle the dependencies.


  • BaseClass – Provides prototypal inheritance and Backbone style class definition.
  • BaseView – An opinionated, low level view class providing hooks for automatic template rendering.
  • BindableControls – Lightweight, customizable binding of data sources to HTML controls and views.
  • EventBus – Flexible event system to allow inter-module communication.
  • EventDispatcher – Adds Backbone event dispatching functionality to BaseClass.
  • IO – Extensible data and asset loading framework with an interruptible load queue.
  • Templater – Nested templating for Handlebars.
  • Utils – Lots of useful stuff.


  • Modules to be split out into separate repositories
  • A stateful extension to Backbone.Router
  • Cascading n-level JavaScript/JSON config manager
  • A low level command system to facilitate undo/redo
  • A model layer with server state caching and resetting
  • And in the slightly more distant future, real time and push functionality using Node.js and Socket.io.