Backbone adapters are an open source collection of sync methods designed to make it easy to integrate your backbone models and collections with data from popular 3rd party APIs.
The project is hosted on GitHub and maintained by @ianmcdaniel and @bradbouse. Bugs and suggestions are welcome and should be reported to the issues page. Backbone Adapters are available for use under the MIT software license.
Backbone adapters are easy to add to your projects, just set the sync property on your models and collections to use the appropriate adapter. Thats it!
// create a facebook friend model var Friend = Backbone.Model.extend({ sync: Backbone.FacebookSync }); // create a facebook friends collection var Friends = Backbone.Collection.extend({ model:Friend, url:'me/friends', sync: Backbone.FacebookSync }); var friendlist = new Friends(); friendlist.fetch();
If you're using the Facebook Javascript SDK and you have an authenticated user you will now have a backbone collection of your facebook friends. See it in action.
The Bakcbone Facebook Adapter requires the Facebook Javascript SDK.
<script src="backbone.js"></script> <script src="http://connect.facebook.net/en_US/all.js"></script> <script src="facebook.sync.js"></script>
Make a call to FB.init
with your apps credentials as described in the
Facebook Documentation
beforehand. Once you have authentication you can start setting up your models
and collections by setting the sync
property to Backbone.FacebookSync
on both your models
var Friend = Backbone.Model.extend({ sync: Backbone.FacebookSync });
and your collections.
var FriendList = Backbone.Collection.extend({ url:'me/friends', sync:Backbone.FacebookSync }); var Friends = new FriendList();
Making a call to Friends.fetch()
will pull a list of your friends from facebook.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer ac facilisis elit. Fusce turpis leo, bibendum vel sagittis quis, faucibus sed diam. Phasellus orci quam, dictum nec vestibulum at, euismod nec est. Integer imperdiet adipiscing lobortis. Etiam eros sapien, mollis quis convallis eget, fringilla a ante. Pellentesque mattis bibendum mauris, a gravida velit euismod a. Duis placerat bibendum erat, in aliquet tellus elementum sed.
$ lorem ispum dolor sit $ amet consectetur/adipiscing_elit $ integer ac-facilisis -e
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer ac facilisis elit. Fusce turpis leo, bibendum vel sagittis quis, faucibus sed diam. Phasellus orci quam, dictum nec vestibulum at, euismod nec est. Integer imperdiet adipiscing lobortis. Etiam eros sapien, mollis quis convallis eget, fringilla a ante. Pellentesque mattis bibendum mauris, a gravida velit euismod a. Duis placerat bibendum erat, in aliquet tellus elementum sed.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer ac facilisis elit. Fusce turpis leo, bibendum vel sagittis quis, faucibus sed diam. Phasellus orci quam, dictum nec vestibulum at, euismod nec est. Integer imperdiet adipiscing lobortis. Etiam eros sapien, mollis quis convallis eget, fringilla a ante. Pellentesque mattis bibendum mauris, a gravida velit euismod a. Duis placerat bibendum erat, in aliquet tellus elementum sed.
$ lorem ispum dolor sit $ amet consectetur/adipiscing_elit $ integer ac-facilisis -e
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer ac facilisis elit. Fusce turpis leo, bibendum vel sagittis quis, faucibus sed diam. Phasellus orci quam, dictum nec vestibulum at, euismod nec est. Integer imperdiet adipiscing lobortis. Etiam eros sapien, mollis quis convallis eget, fringilla a ante. Pellentesque mattis bibendum mauris, a gravida velit euismod a. Duis placerat bibendum erat, in aliquet tellus elementum sed.
Want to help?
git clone git@github.com:<YOUR-USERNAME>/backbone-adapters.git
Don't see your favorite API in our list of adapters? Let us know. If there's some demand, for it, we'll add it.