MVC (Model-View-Controller) if you belongs from IT you will be familiar with this term and aware with this fact that now a days every second Programming language is following this magical word but for the server side only. So why should the JavaScript, which is a well known scripting language, stay behind from this race. So a community of individual developers along with GOOGLE started to develop a framework which could give client side MVC architecture and they came up with Angular or AngularJS as a solution. (you can get it from https://angularjs.org/)
AngularJS comes with following advantages over Plain JavaScript :
a) Magical Two-Way data binding : The two-way data binding is probably the coolest and most useful feature in AngularJS. In a simple way, data binding is automatic synchronization of data between your view (HTML) and model (JavaScript variables). In AngularJS we create templates and bind different components with specific models. So, whenever the model value changes, the view is automatically updated, and whenever the value of any view component changes (e.g input text value) the bound model is also updated.
b) Routing Support: Single Page Apps (SPAs) where everything comes in a single page, as we don’t want to redirect our users to a new page every time they click on something. Instead, we want to load the content asynchronously on the same page and just change the URL in the browser to reflect it. Lots of other popular websites are already doing this, such as Twitter and the Chrome app store. It makes the user feel as if they are interacting with a desktop app. With AngularJS we can implement a Single Page App very easily with minimum effort. In fact, AngularJS was built with these things in mind. you can basically create different views for different URLs. AngularJS will then load the appropriate view in the main page when a specific URL is requested.
c) Structure front end code: As web developers we don’t care about any structure or pattern while writing client-side code. It’s just us and the browser refresh button until we get things working. But for a long run, we have to follow some structure which will save the maintenance nightmare.
d) Templating with HTML: AngularJS uses plain old HTML as the templating language. The workflow becomes much simpler with plain HTML as the templating language, as the designers and developers don’t have to depend on each other. Designers can create UIs in the usual way and developers can use declarative binding syntax to tie different UI components with data models very easily. For example, you can use an expression like {{address}} to display a address in HTML.
e) Teach HTML new syntax with directives: A directive in AngularJS is what tricks HTML into doing new things that are not supported natively. This is done by introducing new elements/attributes and teaching the new syntax to HTML. For example, with the help of directive we can create a new element <map>, and wherever we use this tag, it replaces the tag with a map.
f) Embeddable, testable, and injectable: One of the nice things about AngularJS is that it’s a good team player. You can easily embed an AngularJS app within another app. AngularJS never requires full commitment. You can use it along with other technologies very easily. When you’re unit testing your app during development, you are fixing bugs right away, which you would have otherwise encountered unexpectedly further down the line. The Angular team built a plugin for the Google Chrome browser called Batarang that improves the debugging experience for the applications which build in Angular.
g) Powered by Google and an active community: Whenever we adopt a new technology we always look for a good community support. AngularJS is currently being maintained by the awesome developers at Google. Being open source software, the code is released under the MIT license and is available for download at GitHub. You can download the source and see if you can improve something. The documentation is also pretty good, and you can always ask questions on StackOverflow or the SitePoint forums to clear any doubts.