Angular is a full-featured JavaScript framework maintained by Google. It’s designed for building scalable, enterprise-level single-page applications (SPAs) with a strong emphasis on structure, maintainability, and consistency. Unlike lighter libraries like Alpine.js or React, Angular comes batteries-included with tools for routing, state management, forms, and more. all under one ecosystem.

Angular will always hold a special place in my heart because it is the first framework that I have personally used. This is the tutorial I used to learn it. And only after 2 full internships and 1 year of personal use I can say that I understand it enough for it to be worth using, cause it does have a learning curve.

The Use Case

When to use (pros)

  • Full-featured framework: Provides routing, HTTP clients, forms, testing utilities, and state management out of the box.
  • Scalable for large apps: Strong architecture (modules, components, services) makes it suitable for enterprise-grade applications.
  • TypeScript first: Built with TypeScript at its core, giving you static typing, tooling, and better developer experience.
  • Two-way data binding: Simplifies syncing between UI and state.
  • Strong ecosystem: Backed by Google, with long-term support, large community, and extensive documentation.
  • Opinionated structure: Consistency across projects, great for large teams.
  • Performance optimizations: Features like Ahead-of-Time (AOT) compilation and tree-shaking reduce bundle sizes and speed up rendering.

When not to use (cons)

  • Steep learning curve: Complex concepts (modules, decorators, dependency injection) can overwhelm beginners.
  • Heavyweight: Larger bundle sizes and more boilerplate compared to React, Vue, or Svelte.
  • Verbose syntax: Templates and configuration often require more code to achieve the same result as lighter frameworks.
  • Overkill for small apps: If you just need sprinkles of interactivity (dropdowns, modals), Angular is too much.
  • Slower iteration: Because of its structure, quick prototyping feels slower compared to minimal frameworks.

Quote

ā€œI have never enjoyed myself writing it.ā€ - Theo 24th December 2023