Angular

Что это такое

Angular — это фреймворк для всего приложения, а не библиотека представления. Маршрутизация, формы, HTTP, внедрение зависимостей, утилиты тестирования и сборщик входят в один пакет и спроектированы работать вместе, а написан он на TypeScript и TypeScript же требует; к тому, как устроено приложение, он относится категорично.

Почему это важно

Там, где кодовая база на React или Vue собирает стек сама, Angular начинает с уже принятых решений. На долгоживущей корпоративной работе это настоящее преимущество: три команды могут присоединиться к пятилетней кодовой базе и найти одинаковую структуру папок, одинаковую обработку форм и одинаковую настройку тестов. Однако абстракции фреймворка не оставляют выбора: внедрение зависимостей и RxJS вы принимаете, нужны они вашей задаче или нет. Знание Angular поэтому означает понимание этих абстракций в той же мере, что и модели компонентов, — и именно поэтому он обычно попадается в тех же описаниях вакансий, что и большие одностраничные приложения со строгим TypeScript.

Что в этом треке

  1. Компоненты и шаблоны (02-frontend/30-angular/01-components-and-templates) — декораторы, синтаксис привязок в шаблоне и модель обнаружения изменений.
  2. Внедрение зависимостей и RxJS (02-frontend/30-angular/02-dependency-injection-and-rxjs) — две идеи, которые отличают кодовую базу на Angular от любой другой.

Предварительные требования

Что читать дальше

  • Управление состоянием (02-frontend/23-state-management) — Angular отвечает на этот вопрос сервисами и RxJS, а не хранилищем.
  • React (02-frontend/29-react) — читайте рядом, чтобы увидеть, что библиотека оставляет на вас, а фреймворк решает сам.
  • Чистый код (01-cs-fundamentals/08-clean-code) — структура, которую навязывает категоричный фреймворк, всё равно требует дисциплины внутри каждого файла.