What is angular js
AngularJS is a framework. It has the following features
1. Two way data binding
2. MVW pattern (MVC-ish)
4. Custom-directive (reusable components, custom markup)
6. Deep Linking (set up a link for any dynamic page)
7. Form Validation
8. Server Communication
10. Dependency injection
11. Full testing environment (both unit, e2e)
Benefits of angular js
1. Two way data binding: Angular js included two way data binding. It works great with MVC to eliminate code when developer writing their view and model. Most of the work in moving data from one to the other just happens automatically.
2. Templates: Unlike multi page web application where HTML is created by assembling and joining it with data on server and then shipping the finished pages up to the browser. In angular js the data get shipped to the browser to be assembled there. The role of the server then becomes only to serve as static resources for the templates and to properly serve the data required by those templates. This means the developers, don’t need to write code to constantly sync the view with the model and the model with the view as in other templating systems.
3. MVC: AngularJS incorporates the basic principles behind the original MVC software design pattern into how it builds client-side web applications. This will boost the performance of an application.
4. Dependency Injection: AngularJS has a built-in dependency injection subsystem that helps the developer by making the application easier to develop, understand, and test.
5. Directives: Directives in AngularJS are used to make custom HTML essentials and simplify DOM operation. They can modify the behavior of new and existing DOM elements, by totaling custom functionality, like a datepicker or an autocomplete widget. AngularJS comes with its own set of built-in directives, as well as the capacity to add your own ones.
6. Testing: As applications cultivate in volume and complexity, it becomes unlikely to rely on manual testing to validate the accuracy of new features, catch bugs, and detect regressions. Unit tests are the first line of resistance for catching bugs, but sometimes issues come up with addition between components, which cannot be captured in a unit test. End to end tests are made to find these problems. AngularJS is written entirely from the ground up to be testable. It is comes with an end-to-end and unit test runner setup.