AngularJS

AngularJS is a JavaScript framework for building dynamic web applications, originally developed by Misko Hevery and released by Google in 2010. It extended HTML with custom attributes and elements so that a static markup document could become a live, data-driven interface, and it became one of the defining tools of the single-page application era. Its repository at github.com/angular/angular.js carries the tagline “HTML enhanced for web apps.”

The framework’s signature feature was two-way data binding. Rather than writing code to read values out of the document, update a model, and then write results back into the document, AngularJS kept the model and the view automatically synchronized: a change in the JavaScript model updated the page, and user input on the page updated the model. This removed a large class of boilerplate DOM-manipulation code that libraries like jQuery had previously required developers to write by hand.

AngularJS introduced directives, a mechanism for teaching the browser new HTML syntax. Built-in directives such as ng-repeat, ng-model, and ng-show let developers declare behavior directly in markup, and custom directives let teams package reusable UI components. This declarative style, where the template describes the desired interface and the framework keeps it current, was a sharp departure from the imperative scripting that dominated earlier web development.

The framework also brought dependency injection, a pattern common in server-side enterprise software, into the browser. Components declared the services they needed as parameters, and AngularJS supplied them, which made code easier to test and to assemble from independent pieces. Together these ideas made AngularJS enormously influential, even as Google later rebuilt the project from scratch as a new, incompatible framework simply called Angular. Official support for the original AngularJS ended in January 2022.