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