Angular Basics #1: What Is Angular?
The most solid full-package JavaScript framework today — Angular. Large organizations like Google, Microsoft, Samsung, and Forbes use Angular for their internal systems and enterprise products. In Korean job listings, you don’t see it as often as React, but the deeper you go into SI, finance, and enterprise internal systems, the more places use it in depth — and once a place adopts it, they tend to stick with it for a long time.
This series is for Angular beginners. You’ll learn what Angular is, why it was built, and what kind of problems it solves.
How Angular was born #
Angular started in 2009 as AngularJS, an internal tool built by Google engineer Miško Hevery. Released as open source in 2010, AngularJS made a big splash by bringing two-way data binding and dependency injection into the JavaScript world in a serious way.
But as the JavaScript ecosystem matured fast, AngularJS’s early design decisions began to show their limits. In 2014, Google announced they would break compatibility and rebuild from scratch. The result, Angular 2, was officially released in 2016. Since then, Angular has followed a fast release cycle of two major versions per year.
Today, “Angular” no longer refers to the 1.x line (AngularJS). It means the new Angular (Angular 2+) from 2016 onward. Everything in this series is about the new Angular.
Library or framework? #
Angular is clearly a full-package framework. UI rendering, of course, but also routing, form handling, HTTP communication, dependency injection, and testing — almost everything you need to build a web app comes officially in one package.
This is the biggest difference from React. React is the minimal approach: it only takes care of the UI, and you pick the rest from the ecosystem. Angular comes with a full set and says, “this is the standard.” You give up some flexibility, but the code shape stays similar across teams and projects, which makes handoffs and maintenance easier.
Angular’s characteristics #
Let me lay out Angular’s core characteristics in five points.
1. TypeScript-first #
Angular is a framework written in TypeScript from day one. You can technically write it in JavaScript, but in practice almost no one does. Types are checked at compile time, and autocomplete and refactoring work powerfully. This is the foundation that lets you collaborate reliably on a large codebase.
2. Components and modules #
Splitting the screen into components is the same as React or Vue. The difference is that Angular long bundled components into a unit called a module (NgModule). Recently, Standalone Components — which run without a module — became the default, dropping a lot of boilerplate, and most new projects start with the standalone style. This series also uses standalone by default.
3. Dependency injection #
One of Angular’s strongest weapons. When you create a service class, a component “receives” the services it needs via the constructor or the inject() function. Since you don’t create objects yourself, it’s easy to swap in fake implementations during testing, and you can trace dependencies between services more easily in a large app. The pattern feels very familiar if you’ve worked with Spring or NestJS on the backend.
4. RxJS and Signals #
Angular has long used RxJS’s Observable as the standard tool for handling asynchronous data flow. HttpClient responses are Observables, and changes to router parameters flow in as Observables too. It feels foreign at first, but once you get used to it, you can express flows like search, filter, retry, and cancel very declaratively.
On top of that, Signals (Angular 16+) — a lighter tool for simple reactive state — has recently become part of the standard toolkit. We’re heading into an era where you pick between RxJS and Signals based on the situation.
5. A powerful CLI and a unified structure #
The CLI lets you create a project with ng new and stamp out components with ng generate component user, right from the start. Any Angular project has nearly the same folder structure and file naming, and the CLI handles build, test, and upgrade (ng update). There’s little of the “where do I put what?” decision fatigue.
What can you build with Angular? #
Angular can build almost any kind of web app, but some areas suit it especially well.
- Enterprise systems and internal tools: long-running, large projects like HR, ERP, groupware, and admin panels. The unified structure and strong type system shine here.
- Dashboards and data-heavy screens: charts, grids, and screens with frequent real-time updates. RxJS handles data streams cleanly.
- Regulated, long-maintenance fields like finance and healthcare: the enforcement of “this is how you write it” actually becomes an advantage.
- PWAs (Progressive Web Apps): Angular CLI ships with PWA support built in, so it’s easy to build web apps that feel close to native on mobile.
- Mobile apps: combined with frameworks like Ionic, the same Angular code can run as iOS and Android apps.
React, Vue, Angular… what’s different? #
They’re tools in the same group, but their philosophies are quite different.
- React is the most minimal. It’s just a UI library, and the developer (or a meta-framework) picks the rest. Free, but a lot of decisions to make.
- Vue sits in the middle between React and Angular. The barrier to entry is low and the docs are friendly, so it’s popular with beginners.
- Angular is the most full-package. Routing, forms, communication, DI, testing — it all comes in one set, with “this problem is solved with this” decided ahead of time. That makes it easier to keep code consistent in large teams, but it can feel like there’s a lot to memorize early in the learning curve.
The overall job market is biggest for React. But once you head into SI, enterprise, and finance, demand for Angular is surprisingly steady, and once it’s adopted somewhere, it tends to stay for a long time — making for a stable career path.
What this series covers #
This series walks the most fundamental Angular core, step by step, for first-time learners. By the end, you’ll be able to:
- Write and assemble Angular components and templates yourself
- Build dynamic UIs with data binding and event handling
- Extend template expressiveness with Directives and Pipes
- Use Services and dependency injection to separate logic from components
- Compose multi-page apps with the Router
- Talk to a backend API with HttpClient
Deeper topics — Reactive Forms, RxJS, Signals, Change Detection, NgRx, and the like — will be covered separately in an “Angular Intermediate / Advanced” series, so once you’ve finished the basics, please check those out as well.
Recap #
This post looked at what Angular is, why it was built, and what its strengths are. In the next post, “Angular Basics #2: Components and Template Syntax,” you’ll create your first Angular project with Angular CLI on a Node.js setup, and start by looking at the structure of a component.