AngularJS is an open-source JavaScript framework for building client-side web applications. It facilitates the creation of single-page applications using Model-View-Controller architecture. Key aspects of AngularJS include data binding, directives, dependency injection, services, filters and forms. It promotes declarative programming for templates and imperative code for controllers and logic. AngularJS makes it easier to write modular code through services and dependency injection. It also simplifies communication with backend servers via the $http service and $resource for RESTful APIs.