AngularJS is an open-source JavaScript framework for building dynamic web applications. It uses MVC architecture and allows developers to create rich client-side web applications using two-way data binding and directives. Some key features include templating, data binding, dependency injection, testing, and extensibility through custom directives. A basic "Hello World" AngularJS program binds an expression to an HTML element using ng-controller and ng-app directives to output a greeting.