Angular

A full, opinionated application framework built on TypeScript.

CurrentadvancedFull course available

Overview

Angular is a complete application framework -- routing, forms, HTTP client, dependency injection, and testing tools all included -- built on TypeScript from the ground up. It favors convention and structure over the more do-it-yourself approach of React.

What it is
A comprehensive, TypeScript-based framework for building large single-page applications.
Why it's used
For large teams and applications that benefit from Angular's built-in structure, dependency injection, and strict typing, reducing architectural decisions each team would otherwise make independently.
Where it fits
Common in enterprise applications; requires comfort with TypeScript and object-oriented patterns (classes, decorators) more than React or Vue do.

Core concepts

  • Components and templates
  • Dependency injection
  • Services
  • RxJS observables
  • Modules and routing

Example

The @Component decorator attaches metadata (a template, a selector) to a plain class -- Angular's structure leans heavily on TypeScript classes and decorators, unlike React's plain functions.

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

Common use cases

  • Large enterprise single-page applications
  • Teams that want strong architectural conventions built in

Project ideas

  • A small service-backed component using Angular's dependency injection

Official references