"Single page applications load the entire HTML on first load and then use AJAX to retrieve data from the server."
AngularJS extends HTML with ng-directives attributes.
These attributes build your applications relatively easy to develop.
AngularJS use the Model-View-Controller (MVC) architectural pattern. This pattern separates the application into three parts:
- Model: This is the data or business logic of the application.
- View: This is the UI which user see and take action upon them.
- Controller: This binds the model and view. It takes data from the model and gives it to View for display and takes action commands from the View and fetch model from the server.
- Cross browser compliant
- Data binding with HTML elements
- Increases the readability of the application
- Code reuse
- Perform Unit testing
- Easy to learn
- Open source
For learn AngularJS, you need to get expertise in few AngularJS concepts like expressions, directives, controllers, filters, forms, modules, includes, templates, routing, services and scope.