Что такое Angular
Angular — это полноценный фреймворк от Google для создания веб-приложений. В отличие от React (библиотека) и Vue (прогрессивный фреймворк), Angular «опinionated» — он диктует архитектуру: как организовать модули, сервисы, компоненты. Это больше работы для настройки, зато меньше архитектурных решений для команды.
История: AngularJS (2010) — первый фреймворк, потом полностью переписан в Angular 2 (2016) на TypeScript. Сейчас версии выходят раз в полгода (Angular 17, 18...). TypeScript обязателен — не опционален.
Ключевые концепции Angular
Компоненты: строительные блоки UI. Каждый компонент — класс TypeScript + шаблон (HTML) + стили (CSS).
Dependency Injection (DI): Angular имеет встроенную систему внедрения зависимостей. Сервисы создаются фреймворком и «внедряются» туда, где нужны. Это упрощает тестирование и переиспользование кода.
RxJS и Observable: Angular глубоко интегрирован с RxJS — библиотекой реактивного программирования. HTTP-запросы, события, формы — всё возвращает Observable. Это мощный, но сложный паттерн.
NgModules: модульная архитектура для организации кода. В Angular 14+ появились standalone-компоненты, которые не требуют модулей.
Для кого Angular
Angular чаще выбирают большие команды и корпорации. Причины: жёсткая архитектура уменьшает «творческий хаос» в большой команде, TypeScript обязателен (меньше ошибок типов), встроенное тестирование, долгосрочная поддержка от Google.
Банки, страховые компании, государственные сервисы — типичные пользователи Angular. Стартапы чаще выбирают React или Vue из-за меньшего порога входа.
