AngularJS is a JavaScript-based open-source structural framework for dynamic web applications. It extends static HTML syntax by creating new HTML constructs called directives that add functionality to HTML. Through this, the framework enables the development of dynamic applications. AngularJS is great for developing single-page applications which interact with the user by dynamically rewriting the page with new data instead of loading a new page.

AngularJS uses the Model-View-Whatever (MV*) design pattern which, similarly to Model-View-Controller (MVC), divides program logic into three interconnected elements. The Model represents data, the View is what the user sees. The Whatever, or Controller in MVC, is the link between the Model and the View. The Whatever in MV* means that the developer can create any kind of link between the Model and the View. AngularJS’s most notable feature is two-way data binding. This means that if something changes in the Model, it is immediately reflected in the View, and the other way around. This enables developers to write less code and the user experience is richer and more responsive.

AngularJS is created and maintained by Google. Only the first version of Angular is called “AngularJS”. Versions 2 and later are called just “Angular” or “Angular 2+”. Angular 2+ is a complete rewrite and is based on TypeScript, not JavaScript. Google will support and update AngularJS until 31 December 2021. After that, it is recommended to use Angular 2+ instead.