AngularJS is an open-source JavaScript framework created and maintained by Google that allows developers to create single-page applications. It simplifies application development through data-binding, templating, form validation and routing directly in the client-side JavaScript. AngularJS uses Test-Driven Development principles and regular JavaScript objects to build applications in a clean and readable way. Key components include controllers to control data flow between models and views, directives for reusable components, and services to handle data retrieval and injection.