What is Angular?
What Angular is, the problem it solves, and how its component-based architecture differs from a plain JavaScript or TypeScript app.
읽는 데 2분
Angular is a full front-end framework built and maintained by Google, written in TypeScript, for building single-page web applications. Where a library like a plain DOM-manipulation script hands you a few tools and leaves the architecture up to you, Angular hands you a complete set of conventions — how to structure components, how data flows, how to talk to a server, how to navigate between views — so that any Angular codebase looks recognizably like any other.
That's the trade Angular makes: more structure and more concepts up front, in exchange for an application that stays organized as it grows past a handful of files.
Everything is a component
An Angular application is a tree of components. Each component owns a small piece of the screen, the logic behind it, and (usually) its own styles:
import { Component } from '@angular/core';
@Component({
selector: 'app-greeting',
template: `<h1>Hello, {{ name }}!</h1>`,
})
export class GreetingComponent {
name = 'Angular';
}The @Component decorator is what turns a plain TypeScript class into something Angular can render. selector is the custom HTML tag other templates use to place this component (<app-greeting></app-greeting>), and template is the markup it renders — here using interpolation ({{ name }}) to pull a value out of the class.
TypeScript, not an afterthought
Angular was designed around TypeScript from the start, not retrofitted with types later. Decorators, dependency injection, and the compiler all lean on TypeScript's type system to catch mistakes — like passing the wrong shape of data into a component — before the app ever runs in a browser.
What Angular gives you out of the box
A few things come bundled with Angular that you'd otherwise have to choose and wire up yourself:
- A router for navigating between views without a full page reload.
- HttpClient for talking to a backend API.
- A forms system (two of them, actually — you'll meet both later in this course).
- Dependency injection for sharing services like authentication or data-fetching logic across components.
- The Angular CLI, a command-line tool that generates files, runs a dev server, and builds your app for production.
Where this course is headed
This course assumes you're already comfortable with JavaScript and TypeScript — variables, functions, types, classes, async code. What's new here is Angular's way of organizing that code: components, templates, binding data between the two, and the surrounding tools (the router, forms, HTTP, and Angular's own reactivity system) that turn a handful of components into a real application.