According to backbone js website:
Backbone\'s only hard dependency is Underscore.js ( > 1.3.1). For RESTful persistence, history support via Backbone.Rout
While Backbone.View does depend on a DOM manipulation library, ie you can't use vanilla javascript that is not organized in to a library of some sort, you can configure Backbone to use whatever library you'd like.
See the following from the Backbone source:
// Set the JavaScript library that will be used for DOM manipulation and
// Ajax calls (a.k.a. the `$` variable). By default Backbone will use: jQuery,
// Zepto, or Ender; but the `setDomLibrary()` method lets you inject an
// alternate JavaScript library (or a mock library for testing your views
// outside of a browser).
Backbone.setDomLibrary = function(lib) {
$ = lib;
};
Calling this method will allow you to use whatever library you want.
For example:
Backbone.setDomLibrary(myCustomLibrary);
Backbone is now even easier to decouple from jQuery.
Check this out:
Using Backbone without jQuery
You can use the Backbone.Model
without jQuery, but Backbone.View
will require either jQuery or Zepto, just like the docs state.
Try to use jBone, this is library for DOM manipulations in modern browsers, jBone developed special for Backbone, only 2kb gzipped and jQuery like API.