Why AngularJS? What’s the use case?

AngularJS is a hot new front-end MVC Javascript framework.

In other words: it’s a popular system to rapidly develop powerful, responsive web apps that end-users interact with.

Advantages: it’s meant to streamline the most common type of interactive development. So in theory it should save web developers time to develop apps where the main focus is manipulating data stored in a back-end database. These applications are often called CRUD applications, which stands for create/read/update/delete. The CRUD operations are the bread and butter operations made against databases to input, retrieve, change and remove information (i.e. create, read, update, and delete data).

Contrast with: jQuery, the most popular Javascript framework. jQuery’s “sweet spot” is very fine-grained manipulation of the web page — element by element, object by object — where elements and objects are things like text fields, form fields, images, videos, and clickable controls. jQuery gives developers great power over appearances and on-screen widgets of all sorts — moving them, animating them, hiding them. This fine-grained control over widgets comes from jQuery’s focus on manipulating the DOM (“Document Object Model”) which describes every singles little widget on the web page. AngularJS, by contrast, does not streamline those operations as efficiently, but focuses on tasks like handling updates to data (like when a user types something in a form field) and sending those updates to a back-end database (for permanent storage) as efficiently as possible. Those kinds of operations are somewhat tedious to control through jQuery. AngularJS also makes it easy to filter and sort lists of objects (say, lists of people or products) displayed on a page with a minimum of hassle; with jQuery, that would be a more programming-intensive operation.

In short, AngularJS is focused on maintaining data models for objects, and how they are viewed on the front end. jQuery is focused on precise, atomic control of the page. Different philosophies and strengths.

One nice thing – you can combine AngularJS and jQuery to combine the strengths of both.