AngularJS is an open source JavaScript framework maintained by Google that extends HTML with new elements and attributes. It uses a Model-View-Whatever architecture to develop single-page applications. Key AngularJS components include directives, expressions, and controllers that allow two-way data binding between models and views.