What Can Be Done With AngularJS?
AngularJS supports the industry standard software development paradigm – Model View Controller, well sort of! A more accurate description would be MVVM (Model View View-Model). Adopting MVC/MVVM ensures that you web application is well architected and easier to maintain.
AngularJS extends the traditional functionality to existing HTML elements with “directives”. Using AngularJS directives, developers can create custom HTML tags that serve as new widgets with specific functionality.
TWO WAY DATA BINDING
Possibly one of the coolest and most used features on AngularJS is “two-way-data-binding”. In most modern web applications, approximately 70% of the codebase is dedicated to traversing, manipulating and listening to events raised by the DOM (document object model). These events are often responsible for getting and setting properties on a “model”.
Changes to model drive updates to DOM elements, whereas updates to the DOM mean the underlying model must change. This process can be further complicated by user interaction!
Traditionally, it‘s the developers job to manually manipulate the DOM and elements therein to reflect and updates to a given model and vice versa. Needless to say, it‘s tedious process and very manual which can become difficult to manage as a web application grows in complexity.
AngularJS two-way-databinding automatically handles the synchronization between the DOM / model and vice versa!
Benefits of AngularJS
With built in features such as Dependency Injection (DI), Unit Testing and Filters, you can rest assured that any web application built using AngularJS has flexibility built into its foundations. For example, using AngularJS Filters, you can transform data just before it reaches the view. This very flexible and useful feature allows you to programmatically determine the intention of the user interface.