← All open source projects

Angular

angular/angular

Angular is Google’s TypeScript framework for web apps, with components, templates, dependency injection, routing, and a large built-in feature set.

Forks 27,174
Author angular
Language TypeScript
License MIT
Synced 2026-06-09

What it is

Angular is Google’s framework for web applications. Unlike libraries that only provide a component model, Angular offers a full structure: components, templates, services, dependency injection, routing, forms, HTTP, build tooling, testing, and architectural documentation.

Angular’s history matters because of the move from AngularJS to modern Angular. The newer framework was built around TypeScript, components, and a stricter architecture. That is why it is often chosen when a team needs not only UI rendering, but one way to organize a large application.

What is inside and how people use it

The repository contains the framework core, compiler, packages, tools, tests, and documentation. Angular evolves as a platform: changes can affect component syntax, build tooling, server rendering, hydration, reactivity, and developer tools.

Minimal component

This example shows Angular’s basic unit: a component connects a TypeScript class with an HTML template.

Language: TypeScript
import { Component } from '@angular/core'

@Component({
  selector: 'app-counter',
  template: `
    <button (click)="count = count + 1">
      Count: {{ count }}
    </button>
  `,
})
export class CounterComponent {
  count = 0
}

Typical use cases include enterprise dashboards, complex forms, admin systems, internal systems, and products where shared rules matter. Angular provides many built-in decisions, so teams assemble fewer core pieces from unrelated packages.

Strengths and limitations

The strength of Angular is completeness and predictability. The team receives not only components, but a way to think about modules, services, routes, forms, and testing.

The limitation is the entry cost. Teams must accept framework conventions, TypeScript, templates, dependency injection, and project structure. That may be too much for a small widget and useful for a large application.