Backbone-serverside - Node.js server-side Backbone adapters
This project helps to run isomorphic Backbone applications on node.js servers. It intends to provide a feasible subset of a set of adapters to fill in the blanks of missing DOM and HTML5 APIs on the server side.
For more context on the problematics, see e.g. my Mozilla Hacks article or HTML5 DevConf presentation, or for another viewpoint, some of Spike's isomorphic app presentations. This project exists for those that don't want to build a full abstraction layer on top of Backbone to hide jQuery, XHR and Backbone History API problems.
The service is tested for Backbone 1.1.x, yet it might work for earlier or later revisions, too.
Installation
Installing the project itself is easy. Both build system dependencies and app dependencies are triggered by
> npm install
Usage
The adapters are only useful for an isomorphic application. For an example. You will need to have a node.js server stack and an actual app, such as Backbone Serverside, KOA example. Fork that, or build one of your own from scatch.
In short, the adapters could be used like
var adapters = require('backbone-serverside-adapters'),
cheerio = require('cheerio'),
Backbone = require('backbone');
adapters.backbone.inject(Backbone);
adapters.cheerio.inject(cheerio);
TODO
- The jQuery.ajax emulation is minimal and will likely only work for positive cases for fetching JSON.
- Anybody heard of writing tests for your library?
Release History
- 2014/03/15 - v0.3.0 - API change: adapters inject themselves to Backbone and cheerio
- 2014/03/2 - v0.2.0 - Update adapter dependencies; Update XHR; Move example into its own project.
- 2013/03/25 - v0.1.0 - Initial release
License
Copyright (c) 2014 SC5 Online, licensed for users and contributors under MIT license.