An update on Object.observe

Adam Klein adamk at
Mon Nov 2 19:30:20 UTC 2015

On Mon, Nov 2, 2015 at 11:21 AM, Matthew Phillips <matthew at>

> Over three years ago, Rafael Weinstein, Erik Arvidsson, and I set out to
>> design and implement what we believed to be the primitive underlying the
>> data-binding system of MDV ("model-driven views"). We prototyped an
>> implementation in a branch of V8, then got agreement from the V8 team to
>> build a real version upstream, while pushing Object.observe ("O.o") as a
>> part of the upcoming ES7 standard and working with the Polymer team to
>> build their data-binding system on top of O.o.
>> Three years later, the world has changed in a variety of ways. While
>> other data-binding frameworks (such as Ember and Angular) showed interest,
>> it was difficult to see how they could evolve their existing model to match
>> that of O.o. Polymer rewrote from the ground up for its 1.0 release, and in
>> that rebuilding did not utilize O.o. And React's processing model, which
>> tries to avoid the mutable state inherent in data-binding systems, has
>> become quite popular on the web.
>> After much discussion with the parties involved, I plan to withdraw the
>> Object.observe proposal from TC39 (where it currently sits at stage 2 in
>> the ES spec process), and hope to remove support from V8 by the end of the
>> year (the feature is used on 0.0169% of Chrome pageviews, according to
>> For developers who have been experimenting with O.o and are seeking a
>> transition path, consider using a polyfill such as
>> or a wrapper library like
>> - Adam
> What is Polymer using in place of Object.observe?

Polymer uses a mix of getters/setters and DOM events to handle data
propagation. Details can be found on, e.g.:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list