AngularJS is open source, completely free, and used by thousands of developers around the world. It is licensed under the Apache license version 2.0. It was originally developed in 2009 by Misko Hevery and Adam Abrons. It is now maintained by Google. AngularJS is a powerful JavaScript based development framework to create RICH Internet Application(RIA). AngularJS provides developers options to write client side application (using JavaScript) in a clean MVC(Model View Controller) way. Application written in AngularJS is cross-browser compliant. AngularJS automatically handles JavaScript code suitable for each browser.

Core Features :

  1. Data-Binding : It is the automatic synchronization between the model and the view components.

  2. Scope : These are objects that refer to the model.they act as glue between the controller and the view.

  3. Controller : These are JavaScript functions that are bound to a particular scope

  4. Serives : − AngularJS come with several built-in services for example $http to make a XMLHttpRequests. These are singleton objects which are instantiated only once in app

  5. Filters : These select a subset of items from an array and returns a new array

  6. Directives : Directives are markers on DOM elements (such as elements, attributes, css, and more). These can be used to create custom HTML tags that serve as new, custom widgets. AngularJS has built-in directives (ngBind, ngModel...)

  7. Templates : These are the rendered view with information from the controller and model. These can be a single file (like index.html) or multiple views in one page using "partials".

Model View Controller

The Model

The model is responsible for managing application data. It responds to the request from view and to the instructions from controller to update itself.

The View

A presentation of data in a particular format, triggered by the controller's decision to present the data. They are script-based template systems such as JSP, ASP, PHP and very easy to integrate with AJAX technology.

The Controller

The controller responds to user input and performs interactions on the data model objects. The controller receives input, validates it, and then performs business operations that modify the state of the data model.