<div dir="rtl"><div dir="ltr">Being a one of those humble ~0.017% of consumers of O.o, I'd like, too, to raise a vote against the removal of the feature.</div><div dir="ltr">Having implemented my own 2 way binding library utilizing O.o from one and MutationObserver from another side, I must say that it is very very convenient facility, regardless of callback oriented flow, microtask's 'to be done shorty' flavor etc.</div><div dir="ltr">Low usage may easily be explained by narrow support matrix in browsers and I'm sure that this number would easily multiply itself once at least one more of majors adds support for that + some popular library utilize it as an engine.</div><div dir="ltr"><br></div><div dir="ltr">Actually, some time beforehand I've even posted here a call for enhancing the O.o to support 'deep' observe functionality (which currently must be implemented applicatively on each object in the observed tree), much like the MutationObserver does, and I still believe it would be a right thing to do.</div><div dir="ltr"><br></div><div dir="ltr">Please, consider the withdrawal once again, the fact the here and there people write observe-like logic with getters/setters, memory state digesting and stuff like that speaks for the real need and lacuna to be filled up.</div><div dir="ltr"><br></div><div dir="ltr">Regards,</div><div dir="ltr">Guller Yuri.</div></div><div class="gmail_extra"><br><div class="gmail_quote"><div dir="ltr">2015-11-02 21:31 GMT+02:00  <span dir="ltr"><<a href="mailto:es-discuss-request@mozilla.org" target="_blank">es-discuss-request@mozilla.org</a>></span>:</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Send es-discuss mailing list submissions to<br>
        <a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
        <a href="https://mail.mozilla.org/listinfo/es-discuss" rel="noreferrer" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
or, via email, send a message with subject or body 'help' to<br>
        <a href="mailto:es-discuss-request@mozilla.org">es-discuss-request@mozilla.org</a><br>
<br>
You can reach the person managing the list at<br>
        <a href="mailto:es-discuss-owner@mozilla.org">es-discuss-owner@mozilla.org</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than "Re: Contents of es-discuss digest..."<br>
<br>Today's Topics:<br>
<br>
   1. An update on Object.observe (Adam Klein)<br>
   2. Re: An update on Object.observe (Matthew Phillips)<br>
   3. Re: An update on Object.observe (Adam Klein)<br>
   4. Re: An update on Object.observe (Benoit Marchant)<br>
<br><br>---------- הודעה שהועברה ----------<br>From: Adam Klein <<a href="mailto:adamk@chromium.org">adamk@chromium.org</a>><br>To: es-discuss <<a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a>><br>Cc: <br>Date: Mon, 2 Nov 2015 10:27:43 -0800<br>Subject: An update on Object.observe<br><div dir="ltr"><div>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.</div><div><br></div><div>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.</div><div><br></div><div>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 <a href="http://chromestatus.com" target="_blank">chromestatus.com</a>).</div><div><br></div><div>For developers who have been experimenting with O.o and are seeking a transition path, consider using a polyfill such as <a href="https://github.com/MaxArt2501/object-observe" target="_blank">https://github.com/MaxArt2501/object-observe</a> or a wrapper library like <a href="https://github.com/polymer/observe-js" target="_blank">https://github.com/polymer/observe-js</a>.</div><div><br></div><div>- Adam</div></div>
<br><br>---------- הודעה שהועברה ----------<br>From: Matthew Phillips <<a href="mailto:matthew@bitovi.com">matthew@bitovi.com</a>><br>To: es-discuss <<a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a>><br>Cc: <br>Date: Mon, 2 Nov 2015 14:21:36 -0500<br>Subject: Re: An update on Object.observe<br><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>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.</div><div><br></div><div>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.</div><div><br></div><div>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 <a href="http://chromestatus.com" target="_blank">chromestatus.com</a>).</div><div><br></div><div>For developers who have been experimenting with O.o and are seeking a transition path, consider using a polyfill such as <a href="https://github.com/MaxArt2501/object-observe" target="_blank">https://github.com/MaxArt2501/object-observe</a> or a wrapper library like <a href="https://github.com/polymer/observe-js" target="_blank">https://github.com/polymer/observe-js</a>.</div><span><font color="#888888"><div><br></div><div>- Adam</div></font></span></div></blockquote></div><br></div><div class="gmail_extra">What is Polymer using in place of Object.observe?</div></div>
<br><br>---------- הודעה שהועברה ----------<br>From: Adam Klein <<a href="mailto:adamk@chromium.org">adamk@chromium.org</a>><br>To: Matthew Phillips <<a href="mailto:matthew@bitovi.com">matthew@bitovi.com</a>><br>Cc: es-discuss <<a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a>><br>Date: Mon, 2 Nov 2015 11:30:20 -0800<br>Subject: Re: An update on Object.observe<br><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Nov 2, 2015 at 11:21 AM, Matthew Phillips <span dir="ltr"><<a href="mailto:matthew@bitovi.com" target="_blank">matthew@bitovi.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><div><div class="gmail_extra"><div class="gmail_quote"><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>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.</div><div><br></div><div>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.</div><div><br></div><div>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 <a href="http://chromestatus.com" target="_blank">chromestatus.com</a>).</div><div><br></div><div>For developers who have been experimenting with O.o and are seeking a transition path, consider using a polyfill such as <a href="https://github.com/MaxArt2501/object-observe" target="_blank">https://github.com/MaxArt2501/object-observe</a> or a wrapper library like <a href="https://github.com/polymer/observe-js" target="_blank">https://github.com/polymer/observe-js</a>.</div><span><font color="#888888"><div><br></div><div>- Adam</div></font></span></div></blockquote></div><br></div></div></div><div class="gmail_extra">What is Polymer using in place of Object.observe?</div></div></blockquote><div><br></div><div>Polymer uses a mix of getters/setters and DOM events to handle data propagation. Details can be found on <a href="http://polymer-project.org" target="_blank">polymer-project.org</a>, e.g.:</div><div><br></div><div><a href="https://www.polymer-project.org/1.0/docs/devguide/properties.html#change-callbacks" target="_blank">https://www.polymer-project.org/1.0/docs/devguide/properties.html#change-callbacks</a><br></div><div><a href="https://www.polymer-project.org/1.0/docs/devguide/data-binding.html#change-notification-protocol" target="_blank">https://www.polymer-project.org/1.0/docs/devguide/data-binding.html#change-notification-protocol</a></div></div></div></div>
<br><br>---------- הודעה שהועברה ----------<br>From: Benoit Marchant <<a href="mailto:marchant@mac.com">marchant@mac.com</a>><br>To: Adam Klein <<a href="mailto:adamk@chromium.org">adamk@chromium.org</a>><br>Cc: es-discuss <<a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a>><br>Date: Mon, 02 Nov 2015 11:31:16 -0800<br>Subject: Re: An update on Object.observe<br><div style="word-wrap:break-word">Hi Adam,<div><br></div><div>Just sharing my $0.02 : I implemented a two-way binding system in my first JavaScript framework at Apple in 2007, designed as a layer on top of a property change observing API, like in Cocoa, and that’s still our design in Montage today. I’ve never felt the need nor understood why observing changes on a whole object were useful for bindings, and without measuring, I was concerned (maybe wrongly) by the performance overhead of doing so.</div><div><br></div><div>Thanks for the update.</div><div><br></div><div>Benoit</div><div><br></div><div><div><blockquote type="cite"><div>On Nov 2, 2015, at 10:27 AM, Adam Klein <<a href="mailto:adamk@chromium.org" target="_blank">adamk@chromium.org</a>> wrote:</div><br><div><div dir="ltr"><div>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.</div><div><br></div><div>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.</div><div><br></div><div>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 <a href="http://chromestatus.com/" target="_blank">chromestatus.com</a>).</div><div><br></div><div>For developers who have been experimenting with O.o and are seeking a transition path, consider using a polyfill such as <a href="https://github.com/MaxArt2501/object-observe" target="_blank">https://github.com/MaxArt2501/object-observe</a> or a wrapper library like <a href="https://github.com/polymer/observe-js" target="_blank">https://github.com/polymer/observe-js</a>.</div><div><br></div><div>- Adam</div></div>
_______________________________________________<br>es-discuss mailing list<br><a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br><a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br></div></blockquote></div><br></div><br><br>
<br></div><br>_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" rel="noreferrer" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
<br></blockquote></div><br></div>