AngularJS if a framework used to develop dynamic web applications. It streamlines the process of application development by presenting a higher level of abstraction to a developer.
AngularJS is a structural framework for dynamic web applications. It allows using HTML as the template language as well as enables extending the syntax of HTML to express the application’s components succinctly and clearly. The data binding and dependency injection eradicate much of the code that otherwise one has to write.
THE SWEET SPOT OF ANGULARJS
AngularJS development streamlines the app by presenting a higher abstraction level to a developer. Same as any abstraction, it comes at a flexibility cost. In other words, not every application is a good fit for it. AngularJS was created with the CRUD app in mind. Fortunately, CRUD apps represent a majority of web apps. GUI editors and games are apps that have a trick and extensive DOM manipulation. These types of applications are different from CRUS applications, and thus are probably not a good fit for Angular.
KEY FEATURES OF ANGULARJS
1. Scope. The job of Scope has detected changes to model objects and to make an execution context for expressions. There’s one root scope for the app with hierarchical children scopes. It marshals a model to the view as well as forwards events to a controller.
4. Services. The AngularJS services are singletons that do common tasks for web apps. If one has to share common functionality between controllers, then Services is used. Built-in services begin with a cost. There are various ways of building a service, such as Factory API, Service API or the provide API.
5. View. The view is based on DOM objects and not on strings. The view is the HTML and HTML are declarative and well-suited for UI design. The View must not have any functional behavior. The flexibility is to allow multiple views per Controller.
6. Directives. AngularJS allows one to us Directives to transform DOM or to make a new behavior. A directive enables extending the HTML vocabulary in a declarative manner. Building directives are not very hard, but it’s not easy either. There are various things that could be done with them.
8. Validation. The framework has some built-in validation around HTML5 input variables number, email, URL, checkbox, radio and some directives such as pattern, require, minlength, maxlength. If one wants to create his own validation, it’s just as easy as creating a directive to do the validation.
9. Filters. The Filters perform transformation of data. They could be used to do formatting or could be used to do filter results.
ANGULARJS FREES ONE FROM THE FOLLOWING PAINS:
2. Marshaling data to and from UI. CRUD operations make up the majority of AJAX apps’ tasks. The marshaling data flow from the server to an internal object, to an HTML form, enabling users to modify the form, validate it and display validation errors, returning to internal model and back to a server which creates many boilerplate codes. Angular eliminates almost all of the boilerplate, leaving code which describes over application’s overall flow instead of all the implementation details.
3. Programmatically manipulating HTML DOM. Manipulating HTML DOM is a cornerstone of AJAX apps, but it’s prone to error and cumbersome. By describing declaratively how the UI must change the app state changes, one is freed from low-level DOM manipulation jobs. Most apps are written in Angular never have to manipulate Dom programmatically.
4. Writing tons of initialization code to begin. One needs to write plenty of plumbing to get a basic ‘Hello World’ AJAX application working. With Angular, one could easily bootstrap the app suing services that are auto-injected into an application. This enables getting started the developing features fast. As a bonus, one gets full control over the process of initialization in automated tests.
Many developers undoubtedly enjoy developing with AngularJS. Spend a couple of hours playing with AngularJS and get the most of the development process.