Introduction

Angular is a TypeScript framework for building single-page applications — maintained by Google, built around reusable components, and opinionated enough that most Angular projects share the same basic shape.

Angular vs. AngularJS

Worth saying plainly up front: this course is about Angular (versions 2 and later), not the older AngularJS (1.x). They share a name and a creator, but Angular is a ground-up rewrite — different language (TypeScript instead of plain JavaScript), different component model, different everything under the hood. If you find a tutorial mixing ng-repeat and *ngFor in the same breath, it's confusing two different frameworks. This site has a separate course specifically for AngularJS if that's what you're looking for.

Creating a project with the CLI

Angular projects are almost always created with the official CLI, which scaffolds a working project, a dev server, and a build pipeline in one command:

Terminal
npm install -g @angular/cli
ng new my-app
cd my-app
ng serve
Output
✔ Application bundle generation complete.
Local:   http://localhost:4200/
Watch mode enabled. Watching for file changes...

ng new asks a few setup questions (routing, stylesheet format) and generates a full project — source files, a test setup, and configuration. ng serve starts a dev server that rebuilds automatically whenever you save a file.

What the CLI generates

A fresh project's src/app folder contains a handful of files that define your first component:

Terminal project structure
src/app/
  app.component.ts        (component logic)
  app.component.html      (component template)
  app.component.css       (component styles)
  app.config.ts           (application-wide configuration)
main.ts                   (bootstraps the app)

Every piece of UI in Angular is built the same way this first one is: a TypeScript class paired with an HTML template and (usually) its own stylesheet. The next lesson covers exactly what goes into one.

Note: Angular's release cadence moves fast — a new major version roughly every six months — but the core ideas in this course (components, binding, services, routing) have stayed stable for years. Syntax details around standalone components and control-flow blocks have evolved recently; if you see a slightly different style in official docs, it's usually a newer, optional way of writing the same underlying concept.