Comparing Angular to jQuery
Angular and jQuery take different approaches to web app development. jQuery is all about explicitly manipulating the browser’s Document Object Model (DOM) to create an application. The approach that Angular takes is to co-opt the browser into being the foundation for application development.
jQuery is, without any doubt, a powerful tool—and one I love to use. jQuery is robust and reliable, and you can get results pretty much immediately. I especially like the Fluid API and the ease with which you can extend the core jQuery library. But as much as I love jQuery, it isn’t the right tool for every job any more than Angular is. It can be hard to write and manage large applications using jQuery, and thorough unit testing can be a challenge.
Angular also uses the DOM to present HTML content to users but takes an entirely different path to build applications, focusing more on the data in the application and associating it to HTML elements through dynamic data bindings.
The main drawback of Angular is that there is an up-front investment in development time before you start to see results—something that is common in any MVC-based development. This initial investment is worthwhile, however, for complex apps or those that are likely to require significant revision and maintenance.
So, in short, use jQuery (or use the DOM API directly) for low-complexity web apps where unit testing isn’t critical and you require immediate results. Use Angular for single-page web apps, when you have time for careful design and planning and when you can easily control the HTML generated by the server.
Comparing Angular to React and Vue.js
There are two main competitors to Angular: React and Vue.js. There are some low-level differences between them, but, for the most part, all of these frameworks are excellent, all of them work in similar ways, and all of them can be used to create rich and fluid client-side applications.
My advice is simple: pick the framework that you like the look of the most and switch to one of the others if you don’t get on with it. That may seem like an unscientific approach but there isn’t a bad choice to make, and you will find that many of the core concepts carry over between frameworks even if you switch.