1. Framework Size :
2. Enables massively parallel development
3. Single page applications are fully supported by AngularJS
Developing single page applications has always been a tedious task. Thanks to the inception of AngularJS framework, it has become quite convenient to come up with high-performing single page apps that are fully responsive and and provide a far better experience similar to the one rendered by web-based native applications. Since the single page apps are rendered on the client, they easily cut down the load on your server, thereby reducing the overall network traffic. AngularJS comes equipped with all the necessary infrastructure ranging from routing and templates to journaling(i.e. Deep linking) that’s required for standing up a fully-functional SPA application.
4. In addition to the largest community, AngularJS is backed and promoted by Google-the global search engine giant
The wide community of AngularJS comprises of trained developers who are extremely skilled in using the innovative tools for ensuring utmost productivity during web app development. Plus, you can also avail the opportunity of contributing to the community by submitting your suggestions in the form of design documents. The AngularJS core team will be more than happy to answer all your queries in the most amicable way.
5. Categorization of app building blocks is quite convenient and hassle-free
With AngularJS, you can easily categorize the application building blocks into a variety of types viz: Controllers, Factories, Services, Directives, Filters and Views(also called templates). These are further organized in the form of modules. Each building block type has a different role. That means, the View would do the UI, controllers would work out the logic behind the created UI(User interface), Services would handle the communication via the backend in addition to holding the common and related functionality and last but definitely not the least the Directives will add convenience to the process of creating reusable components in addition to extending the HTML by defining the new attributes, elements and behaviours.
6. A built-in Dependency Injection does all the hardwork
AngularJS comes with a built-in Dependency Injection which allows you to add ease into the development and testing of a web application. With Depedency Injection, you can freely ask for dependencies, instead of getting into the trouble of finding them by yourself. For instance, in order to gain access to a specific core AngularJS service, it is AngularJS which will automatically detect your need and provide you with the asked service on an instant basis.
7. Automatic Dirty Checking feature
AngularJS comes with an automatic Dirty Checking feature as per which you aren’t required to access your model data using getters and setters. You can simply modify a certain property of arbitrary scope object. AngularJS will automatically detect the modification and notify all watchers for the respective property.
4. AngularJS has been written, keeping the app testing parameter in mind
When it comes to app testing, a lot of attention needs to be paid to individual concerns arising out of effective and on-time testing. AngularJS comes with powerful mocks specially designed for rendering built-in services including $http and $timeout.
The most important part is that it's follow the very popular next generation RIA design pattern & you can say it is follow the MWW (Model-View-Whatever) design pattern.