dhruvaray/backbone-associations

Who uses Backbone-Associations?

Opened this issue · 24 comments

A compilation of projects which use Backbone-Associations. Please add your own project or product to this list. It would be wonderful and motivating to hear your story!

Source : Google Search

Kinvey

  • Kinvey & Google Partnership

http://techcrunch.com/2013/06/05/google-app-engine-adds-kinvey-to-power-mobile-backend/
"Google is broadening its reach into the mobile app development world today through a partnership with Kinvey, which will provide an enterprise backend-as-a-service (BaaS) layer on top of Google App Engine. With Kinvey, Google App Engine will support iOS, Android"

  • On their Backbone stack

http://devcenter.kinvey.com/backbone/guides/datastore#RelationalData
"If you are planning on using this functionality, we highly recommend including the Backbone-associations plugin. Internally, the library checks for the presence of this plugin and adds additional functionality accordingly. The remainder of this guide will assume you are using this plugin."

Source : Issue #51

The RESThub stack (http://resthub.org/) is currently porting from Backbone-Relational to Backbone-Associations!

RESThub 2.1.2 has been released and now includes by default Backbone Associations 0.5.1.

At @rentlytics we're porting from backbone-relational in a new version of our software. For the most part its been going rather well with @monokrome only submitting 2 issues so far. He has been heading up the new version, so maybe he can share some of his thoughts with you. But this library is much cleaner to work with than backbone-relational, mostly because it is simpler and does less things.

@pplante : Thanks for sharing this! I am glad and excited to hear that @rentlytics is moving over to BB-Associations! As usual, I would like to hear about your porting experiences - so that we can incorporate them into our documentation.

does less things

  1. No implicit store or cache or model identity management : In our experience, the app tends to bloat (memory wise) due to this. If we ever added this feature, it would be injected externally (and optionally) with another store plugin.
  2. No implicit fetch/save : Difficult to generalize in an useful way for network (read web) applications. Clearly, we don't want entire object graphs being serialized across the network. Having said this, folks can easily customize it for their needs. Kinvey seems to have done it for their Backend-As-A-Service platform.
  3. No explicit reverse relations : It can cause ambiguities. I have opened #51 to discuss why folks need this?
  4. No sub-types.

BB-Associations brings different capabilities to the table - after we cross the model-association definition phase

  1. We only share the BB-Relational API definition - when it comes to defining associations(relations). Beneath the covers, it is a significantly simpler implementation - which is easier to understand, extend and maintain.
  2. BB-Associations provides a superior eventing experience (in an object hierarchy scenario) and notion of paths. You can now listen to any events happening in your object hierarchy stored within your web-app (or SPA). And can respond to them. (Like update your views). You can find comprehensive documentation about events here. I would encourage your team to look at this feature to simplify your code-base.
  3. It is fast (relative to BB-Relational), tiny (2.4KB gzipped and minified) and consumes no app memory - other than what it takes to define (and instantiate) your models.
  4. It supports self-reference and cycle scenarios.
filR commented

http://www.tapestry.net/
We use backbone associations for our phonegap iOS, android and soon desktop app. Why do we use it? We'd be crazy not to.

@filR : Thank you! You made our day!

Hi!

We are using Backbone-associations at Pearson's Data Analytics and Visualization team. The UI portion of the current project is for defining certain query parameters to get insight on English courses and how students do in them. There's lots of intertwined metadata to be stored on our models, and your library made it palatable, maintainable and pleasant to work with.

Thanks!

@kosmotaur : Wow! It is an honor to be associated with all your efforts! Thank you so much for sharing this...

At Sitata, we're currently migrating from Backbone Relational. The decision was made 100% based on the store concept, which didn't jive well with our existing patterns. Backbone associations is much simpler and hopefully won't introduce easy opportunities for our devs to create memory leaks.

@astjohn : Wonderful! I think you should not have any issues, but should you find something, please do file on the issue tracking system.

At Vaddio after evaluating several relational plugins we chose backbone-associations to build real-time web interfaces for audio and video devices running embedded linux. Thanks for this plugin.

Thanks @asheriff for sharing this! We are honored...

At DanceSafe we are using Backbone-Associations in our Android mobile app to provide drug safety & harm reduction information to the rave & nightclub community.

Wow! Thank you @logankoester

If @logankoester uses it, it's good enough for me. We use it here for client work @madgloryint

🌵 🍍 😋

Great to hear that @genexp!

@genexp 👍

oneoverzero uses backbone.associations on many web projects.
Two mobile apps recently added to the portfolio: Credit Suisse VIVA and Cornèrcard Mobile (available for both iOS and Android)

at Coursera, we're using backbone-associations pretty extensively for our new on-demand platform, an example of which you can find here

@atomictag and @jnwng Wow! That's awesome 👍

At about.me we're in the midst of rewriting our core product using Marionette and Backbone Associations. Really liking it and can't wait to launch it. We've hit a snag though, regarding previous model attributes getting obliterated by fetching data on the parent model. I've posted a reduction of the issue at http://stackoverflow.com/questions/27086259/merge-attributes-when-using-model-set-with-backbone-associations. If anyone here can shed some light on that question, I'd be really grateful.

Update: got an answer to my question: these singleton related models need to have an id assigned in order for attributes to get merged. Makes sense.

Using it heavily on our booking platform at http://breather.com 👍