Angular JS is an open-source web application framework maintained by Google. It is one core library. AngularJS extends HTML attributes with Directives, and binds data to HTML with Expressions. It is a very good SPA framework and perfect for SPAs (Single Page Applications). A Single Page Application is one in which we have a UI page and we can load multiple views into that. In a SPA we can load the initial content upfront and then the different can be loaded on the fly and embedded into the UI. But it’s not just for that, if you wanted you could just use it for separation of code. We have two-way data binding. It simplifies development and testing of applications by providing a framework for client-side model–view–controller (MVC) architecture. For DOM manipulation jQLite is built-in which is kind of like the Mini-Me of jQuery. If you want to use more advanced stuff you can even use jQuery and they play really nice together: Angular and jQuery. When it comes to data binding we have full support for templates. History’s built in. We can share code through factories and services. We have the concept of data-binding with View Models. Dynamically injecting different features at run time through dependency injection.