Faster and leaner Backbone for your HTML5 apps.

Usage no npm install needed!

<script type="module">
  import exoskeleton from 'https://cdn.skypack.dev/exoskeleton';



Exoskeleton is a faster and leaner Backbone for your HTML5 apps.


What already works

All features you need for real-world app are working. All software tests are passing: (libs = underscore and jquery)

  • Backbone: with and without libs
  • Chaplin: with and without libs

Marionette and other popular plugins: WIP.


Default and custom builds:

make # Will create exoskeleton.js
make noutils # If you want to use Underscore and jQuery
             # and don't want to include `Exoskeleton.utils`.
make min     # Minified version.
# Custom, like this:
cat lib/{header,events,collection,sync,history,footer}.js > exoskeleton.js


  • Custom builds
  • No hard dependencies on underscore or jquery
  • Support for Bower and Component(1)
  • AMD support
  • Speed: blazing fast when used without jQuery.



  • When jQuery is not used, you must use event.delegateTarget instead of event.currentTarget for event delegation. This is because currentTarget is not overridable on native non-jQuery events.

  • Declaratively defined view events which point to non-existing handler functions are no longer tolerated / skipped. Early error is thrown instead.

  • In no-underscore environment, there are no underscore-inspired Collection methods (each, pluck etc.), but there are ES5-inspired methods:

    forEach, map, filter, some, every, reduce, reduceRight, indexOf, lastIndexOf

    Also, no underscore-inspired Model methods at all.

  • emulateHTTP and emulateJSON were removed