In short, observables and computed values are something that every framework struggles with. Frameworks that have explicit observables and computed values (Ember, Knockout, CanJS, etc) can provide high performance updates and, imo, a more natural development experience. However, frameworks like Angular and React, that can use plain JS objects, lend themselves to being much more popular, but accomplish "computes" with either unnecessary dirty checking or diffing. Proxies will be able to provide a best of all worlds solutions.
Ember, Knockout, CanJS, and many other frameworks have explicit observables and computed values or properties.
For example, in CanJS (which I'm most familiar), the following creates a fullName
compute that updates whenever any
of its source observables change: