Advantages
- Angular analyses the page’s DOM and builds the bindings based on the Angular-specific element attributes, so there is no need to use observable functions
- Instead of adding inner HTML code, Angular modifies the page’s DOM directly (this latter solution is faster than the former)
- Data binding doesn’t occur on each control or value change, but at particular points of the JavaScript code execution. This improves performance significantly – a single bulk Model/View update can replace hundreds of cascading data change events
Disadvantages
- AngularJS is a complex technology and provides the user multiple ways to perform the same task, thus making it difficult to find the best approach
- Compilation and linking are not intuitive, and certain cases (recursion in compile, collisions between directives etc.) can be confusing
- As the project grows with time, there might be the need to update existing implementations
Components
- Expressions
- Directives
- Controllers
- Validation
- Tables
- Filters
- Forms
- Events
- Modules
Development tools
- Batarang
- Karma
- WebStorm
- Aptana
- Protractor
- Visual Studio Code