React, Flux, GraphQL, Hack, HHVM...? All of this and more!
With the rising popularity of the ES6 specification and Virtual DOM frameworks such as React and Angular 2 have taken their place in development workflows with Webpack and other application build tools.
In the Java world there was a similar complexity development in the early 2000s as frameworks added layers upon layers of functionality on top of the language itself. From this state the Java community sobered up and moved back to "Plain old Java Objects" (POJO):
In software engineering, a plain old Java object (POJO) is an ordinary Java object, not bound by any special restriction and not requiring any class path.
This brings us to React and Angular 2, which have grown to be huge ecosystems by themselves. They're now kitted with everything including the kitchen sink - to create projects for mobile phones and desktop applications.
But for the Web Browsers the Web API is a collection of interfaces that make the use complex layers like React and Angular 2 questionable. Especially with browsers are able to catch up on web components and ES6 through the automatic upgrade mechanisms.
A while back it was fashionable to question if you need jQuery or not? Now ask yourself, do you need to really need React or Angular?