* Two-way data binding is emphatically *NOT* an advantage... Every Angular 1/2/whatever app I've ever touched as a user has weird state bugs somewhere. You get *FAR* less of these kinds of issues with 1-way data flow. Hell, even using 1-way data (I'm using angular-redux, and have used rxjs), a lot of interactive bits (frustrated with angular-sortablejs) really bork things up when they break and don't raise proper events. Detailed documentation with Angular does not overcome the weird choices made in terms of overall function and design. Also, "world-renowned and time-tested" apply as much to React as it does angular, and even more so, since it's been around longer than Angular 2+, and used twice as broadly as Angular. Under "New useful features" it mentions the HttpClient, one area that I think is entirely useless considering fetchAPI is in all modern browsers and easily shimmed otherwise. On the react disadvantages: "Possible problems with updates," react is very good at deprecation warnings and doesn't remove stuff until the next full version, usually you have a few versions to go through before a feature is actually removed. As to React.JS isn’t a framework... react + redux + redux-thunks + fetch give you everything you need that angular has in the box. If you need more, you can easily swap out. That gets to be much harder with angular. The conclusion is completely backwards as you do not get a boost in productivity... you lose any advantage dealing with bugs in weird Angular behaviors. Using a state manager like redux? Update your model during a UI event, and see the whole app crash. Crap, what properties of @Component do I need again, vs creating a render function.