My probably mistaken impression is that Facebook did this with React, decided that even with this virtual DOM, Web apps just weren't worth doing except as a backup to "real" native apps, and abandoned it.
Then Google decided that Angular was the way to do Web apps, discovered they were doing it wrong and that Facebook's virtual DOM was the way to go, and abandoned Angular 1's approach for an approach tried and abandoned by Facebook.
Then Google moved on to Polymer and its HTML components approach, which might be fundamental to Angular 2 or might be a new approach that they intend to use with something other than Angular.
Again, I'm obviously confused about what's going on in this big players' next-gen client-side web app space. Could anyone clarify?