What is AngularJS.

AngularJS


AngularJS is by far one of the leading frameworks to build Javascript based web applications. The framework supports to develop single-page applications which means the page, e.g index.html is rendered only once from the server and later on only the content of various sections of the page are loaded or updated as needed. This helps gain two benefits; first it enormously reduces the web traffic between the client (the browser or the mobile app) and the server, secondly it reduces the use of resources (memory and CPU) on the server.

Since the Angular framework is built on the JavaScript framework, it becomes easier for the developers to understand Angular if they know JavaScript which is very commonly used in almost all web applications.

Features of Angular framework:

Components 
Components help to build the application into many modules. Components allow for a clear separation of concerns and allow you to build highly reusable and
maintainable code over a period of time. 

TypeScript
The newer version of Angular is based on TypeScript. TypeScript is a superset of JavaScript and is maintained by Microsoft.

Services
Services are a set of code that can be shared by different components of an application. So for example if you had a data component that picked data from a
database, you could have it as a shared service that could be used across multiple applications.

Key Components of Angular:


Module
A Module is used to break up the application into logical pieces of code. A module is roughly equivalent to a page or form in other applications which performs
a particular task, e.g, sign in, sign up or edit profile.


Component
Component are used to bring the modules together. Typically, a moudule may contain one or more components to perform its task.

Template
This is used to define the views of an Angular JS application. A Template is comprised of regular html and Angular Directive to bring real life in it.

Metadata
This can be used to add more data to an Angular JS class.

Service
This is used to create components which can be shared across the entire application.


Routing:
Routing helps in directing users to different pages based on the option they choose on the main page. Hence, based on the chosen option, the required Angular Component will be rendered to the user.