Преподаватель добавляет новые уроки по мере прохождения курса.
Ниже перечислены все материалы, которые уже открыты для вас. Нажимайте на карточку, чтобы открыть страницу урока.
Что узнаете: как поставить все нужные программы (Node.js, Git, VS Code, Angular CLI, JSON Server, Vite), чтобы вообще начать писать код. Зачем в TaskFlow: без этих инструментов проект не запустится. Аналогия: как собрать рабочий верстак и разложить инструменты, прежде чем строить мебель.
ИнструментыЧто узнаете: из каких частей состоит веб-приложение — браузер, HTTP, REST, JSON, HTML/CSS/JS, компоненты, а также чем отличаются Angular и React. Зачем в TaskFlow: это общая карта местности, чтобы дальше не заблудиться. Аналогия: как понять, как работает ресторан (повар, официант, кухня, меню), прежде чем самому готовить.
Теория + ПрактикаЧто узнаете: «алфавит» программирования — переменные, функции, массивы, объекты, модули, Promise, async/await, плюс типы и интерфейсы в TypeScript. Зачем в TaskFlow: на этом языке вы будете описывать задачи и действия с ними. Аналогия: как выучить буквы и грамматику, прежде чем писать письма.
ЯзыкЧто узнаете: как собирать экран из компонентов, вставлять данные в разметку (@if, @for, @switch, @empty, track) и связывать кнопки с действиями. Зачем в TaskFlow: список задач и форма — это и есть компоненты. Аналогия: компонент — как деталь конструктора или запчасть машины: из маленьких блоков собирается весь экран.
AngularЧто узнаете: как компоненты передают друг другу данные и сообщают о событиях (Input/Output), и как устроено дерево TaskFlow. Зачем в TaskFlow: когда вы добавляете задачу в форме, об этом должен узнать список. Аналогия: как передают записки внутри семьи — папа написал, дети прочитали и отреагировали.
AngularЧто узнаете: как хранить текущее состояние задач и автоматически обновлять экран при изменениях (signal, computed, effect, update/set). Зачем в TaskFlow: чтобы список сам перерисовывался, когда задача выполнена. Аналогия: сигнал — как группа в мессенджере: изменилось значение, и все подписчики сразу получили сообщение.
AngularЧто узнаете: как вынести хранение задач в отдельный сервис (@Injectable, providedIn/inject) и описать модель Task/TaskDraft. Зачем в TaskFlow: один «склад» задач, к которому обращаются все экраны. Аналогия: сервис — как общая кладовая: все берут оттуда данные, а не держат у себя по кусочку.
AngularЧто узнаете: как приложение запрашивает данные с сервера по сети (HttpClient, CRUD: GET/POST/PATCH/DELETE) и ловит ошибки. Зачем в TaskFlow: задачи хранятся на сервере, а не только в браузере. Аналогия: HTTP-запрос — как заказ в магазине: послали заявку, получили посылку или вежливый отказ.
AngularЧто сделаете: проследите полный путь запроса: нажали кнопку → fetch → сервер → данные на экране, и изучите DevTools. Зачем в TaskFlow: именно так задача попадает из приложения на сервер. Аналогия: HTTP-запрос — как заказ в магазине: послали заявку в сеть (fetch), получили данные с сервера или отказ.
ПрактикаЧто сделаете: разберёте три состояния экрана — загрузка, успех, ошибка — на примере списка задач. Зачем в TaskFlow: пользователь должен видеть, что происходит (крутится ли загрузка или что-то сломалось). Аналогия: как статус заказа: «в обработке» (ждём), «готов» (успех), «ошибка» (авария).
ПрактикаЧто сделаете: спроектируете модели данных — что приходит с сервера, а что нужно только для интерфейса. Зачем в TaskFlow: чёткая «анкета» задачи, чтобы не путаться в полях. Аналогия: как бланк пропуска: есть обязательные графы (ФИО, дата) — так и в задаче есть id, title, completed.
ПрактикаЧто сделаете: распишете дерево компонентов — AppShell, TaskList, TaskItem, TaskForm, FilterBar — и кто за что отвечает. Зачем в TaskFlow: чтобы каждый кусочек экрана знал свою работу. Аналогия: как деталь конструктора или запчасть машины: у каждого компонента своя зона ответственности.
ПрактикаЧто сделаете: сравните фреймворк и библиотеку — что у них общего и в чём принципиальная разница. Зачем в TaskFlow: понимать, каким инструментом вы строите проект. Аналогия: Angular — как готовая квартира с ремонтом, React — как набор блоков, из которых собираешь сам.
ПрактикаОтдельные страницы с заданиями, песочницами и проверкой для каждого урока. Открывайте из соответствующего урока или здесь.
Что сделаете: потренируете массивы задач, интерфейсы, generics, async/await и обработку ошибок. Аналогия: как тренировка перед игрой — отрабатываете фразы языка из урока 2.
ПрактикаЧто сделаете: соберёте standalone-компонент, научитесь показывать/прятать блоки (@if/@for/@switch), использовать track и class binding. Аналогия: как собрать деталь конструктора и научить её «моргать» по условию.
ПрактикаЧто сделаете: построите дерево компонентов и научите их передавать события вверх через output(), добавите FilterBar. Аналогия: как передать записку от младшего к старшему в семье.
ПрактикаЧто сделаете: примените signal, computed, effect, неизменяемое обновление и производные значения. Аналогия: как обновить статус в групповом чате, и все сразу это увидели.
ПрактикаЧто сделаете: создадите @Injectable-сервис-хранилище с providedIn и моделями Task/TaskDraft. Аналогия: как завести общую кладовую и раздавать из неё ключи всем желающим.
ПрактикаЧто сделаете: подключите HttpClient к json-server, реализуете CRUD и состояния loading/empty/error. Аналогия: как сделать заказ в интернет-магазине и дождаться посылки или сообщения об отмене.
ПрактикаРешения доступны после домашнего задания. Сначала попробуйте самостоятельно, затем сверьте.
Все ссылки ведут на актуальные официальные источники.
Эта страница — главный вход в курс. Преподаватель будет добавлять сюда ссылки на новые уроки по мере их прохождения.
Если вы видите эту страницу впервые, начните с карточки «Установка окружения».
Актуально на август 2026 года. Версии инструментов могут меняться, но инструкции остаются применимыми.
| Термин | Жизненная аналогия |
|---|---|
| Фронтенд | витрина магазина: всё, что видит и трогает покупатель (пользователь). |
| DOM = дерево страницы | как схема родственных связей: каждый тег — узел с родителями и детьми. |
| Компонент = деталь конструктора | как запчасть машины: из маленьких блоков собирается весь экран. |
| Сигнал = группа в мессенджере | изменилось значение — и все подписчики сразу получили сообщение. |
| HTTP-запрос = заказ в магазине | послали заявку в сеть, получили данные с сервера или вежливый отказ. |
| Сервис = кофеварка на этаже | общий ресурс: все подходят и пользуются, а не держат свою у себя. |
| Состояние = статус заказа | «в обработке» (ждём), «готов» (успех), «ошибка» (авария). |
| Task = готовый билет с id | как билет в кино: у него есть номер (id), название и галочка посещения (completed). |
1. Поле выполнения задачи в модели Task называется done. Верно или неверно?
Ответ: Неверно. Поле называется completed, а не done — это каноническое соглашение всего курса.
2. Сигнал в Angular похож на группу в мессенджере, где подписчики узнают об изменении значения. Верно или неверно?
Ответ: Верно. При изменении сигнала все подписчики автоматически получают обновление и перерисовываются.