http://wintellect.com/blogs/jlikness/10-reasons-web-developers-should-learn-angularjs
An excelent post describing the the top 10 reasons why we should learn and use AngularJS. It is an extensive post, well written. Worth read. Here is the summary
- AngularJS gives XAML developers a place to go on the web: the principles reflected in AngularJS allows us to have the same advantages of the XAML frameworks (WPF, Silverlight), such as data-binding, parallel work between designers and developers, great separation of UI and the logic that fetches and processes data
- AngularJS gets rid of ritual and ceremony: just plain javascript objects to participate in the data-bindng process. No need to extend from an existing object.
- AngularJS handles dependencies: just tell angular what you need and angular goes anf gets it for you. It's all about dependency injection.
- AngularJS allows developers to express UI declaratively and reduce side effects: The UI is well structured, and by declaring your UI and placing markup directly in HTML, you keep de presentation logic in one place and separated from the imperative logic. You can even extend HTML using angular directives.
- AngularJS embraces DD...Er, Testing: AngularJS helps you to write tests easy. The framework is prepared to unit testes or end-2-end tests
- AngularJS enables parallel development: AngularJS defines a set of concepts (modules, controllers, services, directives, etc.) which help us to structure our application in a way that allows us to have easily multiple developers working simultaneously on different parts of the application
- AngularJS enables a Design <-> Development workflow: in AngularJS it's more easy to designer add markup without completely breaking an application, due the separation between the UI and logic.
- AngularJS gives developers controls: AngularJS has a concept named directives which allows to create new HTML elements and attributes. Basically it's a way to increase the browser vocabulary
- AngularJS helps developers manage client state
- AngularJS supports Singe Page Applications: AngularJS provides all the necessary foundations (routing, templates, views, history, etc) to build a SPA