Exoskeleton is a faster and leaner Backbone for your HTML5 apps.
Exoskeleton is just for you!
or install with package managers:
bower install --save exoskeleton
component install paulmillr/exoskeleton
Underscore is 100% optional in Exoskeleton. You can just throw it away.
Instead of including 40K of gzipped JavaScript, you just need to include 8K — that's five times less! Use Backbone.NativeView and Backbone.NativeAjax to get rid of jQuery too.
Your views will be rendered up to 5.5 times faster* when Exoskeleton is used without jQuery. They will also consume 2 times less memory.
Mobile apps want this kind of performance.
* Tested view creating / rendering time using Exoskeleton against Backbone 1.1 + jQuery 2.0 in Chrome and Firefox.
Don't need Router? No problem. Using your own Models? You've got it!
All stuff for old browsers is out by default — IE10 is the minimum here.
You can just replace Backbone with Exoskeleton and it will all work as before.
Exoskeleton passes 100% of Backbone and Chaplin test suites with or without dependencies.
Support for optional deps in other frameworks like Marionette is coming soon, our team is on it!
Exoskeleton is AMD and Common.js-friendly. ES6 support is coming soon.
Package managers support is here. Manage your exoskeleton dependency like it's 2013.
Regular semver-compatible updates, that's it.
Exoskeleton incorporates other great features and bugfixes.
View#delegateEvents
has keepOld
option that allows to preserve old events.model.get('constructor')
(backbone#1495)utils.delegate
method.Backbone.Deferred
overridable method for custom promise libraries or DOM promisesView#useNative
property. Works great if you want to include jQuery and still use native methods for some views. Just set it to `true` in them.event.delegateTarget
instead of event.currentTarget
for event delegation. This is because currentTarget
is not overridable on native non-jQuery events.In no-underscore / lodash 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.
matchesSelector, result, defaults, extend, escape, sortBy, uniqueId, isEqual
. If you intend to use Exoskeleton with underscore or lodash, you may want to drop utils from custom build.For initial release, you can check out backbone docs. Exoskeleton docs are coming soon.
Check out also: