Angular 42,088 (github.com/angular/angular (https://github.com/angular/angular 101,033 )) is Google's batteries-included framework: TypeScript (TypeScript), router, forms, HTTP client, dependency injection and the ng CLI come from one team with one upgrade path, which suits large enterprise apps. Angular 22 shipped in June 2026; from v22 a major release arrives every 12 months (previously six), with 12 months of active support plus 12 of LTS.
import { Component, signal } from '@angular/core';
@Component({
selector: 'app-root',
template: `
<input #box [value]="text()" (input)="text.set(box.value)">
<button (click)="add()">Add #{{ todos().length + 1 }}</button>
<ul>
@for (t of todos(); track $index) { <li>{{ t }}</li> }
</ul>`,
})
export class App {
todos = signal<string[]>([]);
text = signal('');
add() {
this.todos.update(list => [...list, this.text()]);
this.text.set('');
}
}[value] binds a property, (input) listens for an event and #box names the element. @for replaced the older *ngFor, and since v21 new projects are zoneless: instead of zone.js patching browser APIs to guess when to re-check the page, signals tell Angular which components changed. Create a project with npx @angular/cli new my-app; this component built to 35 KB gzipped.
AngularJS 25,759 (Angular 1.x, github.com/angular/angular.js (https://github.com/angular/angular.js 58,498 )) appeared in October 2010 and popularized two-way data binding. Angular 2 (September 2016) was a complete rewrite, not an upgrade, which is why the old framework kept its separate name. AngularJS support ended on December 31, 2021, and its last release was 1.8.3 in April 2022. It still appears in 7.2% of Stack Overflow 2025 responses: treat it as a migration target, never a choice for new code.