What is Iota Observable?
And how does it compare to other projects?
Iota Observable has been designed to play nicely with Rivets, a little template engine with declarative data binding from Michael Richards. Both libraries strive to "do one thing and do it well". They leave everything else to your choice — a modular approach. You might want to give the Rivets & Iota Observable combo a chance if you feel that AngularJS, EmberJS, Knockout, Batman etc. are too invasive and big for your use case.
what makes it special
Navigate the object graph using the dot notation:
model.get('person.address.name'). It doesn't matter whether the nested objects are observable or not.
automatic dependency tracking
Properties can be derived from other properties, simply by making them no-arg functions. If you use the get and set functions and another property is changed, observers are automatically notified about changes in the computed property:
get('a') + get('b').
for better performance
You can set multiple properties at once by passing an object to the set function. You can also demarcate a series of updates with
endBatch. Observers which would be notified multiple times when doing separate updates, are triggered only once that way.
Successfully tested in Internet Explorer 8, latest Chrome and latest Firefox.