Web apps have evolved to become rich clients in all senses of the phrase. The development of such modern apps benefits substantially from frameworks that provide developers with a rapid and manageable means of implementation.
The era of jQuery led projects to the point where the HTML DOM was highly coupled with the code—there was simply no productive separation of concerns. Additionally, rich apps usually ended up with performance issues due to the nature of browsers' flexibility toward the DOM, and the maintainability of such projects suffered greatly over time. While there was a way to improve the implementation in this regard while using jQuery, writing real encapsulated and reusable code with optimized performance ...