Frontend
Frontend-специализация на React + TypeScript: компоненты, состояние, загрузка данных, формы, роутинг, стилизация, доступность, тестирование. Вторая специализация продукт-инженера.
Зачем для UCP. Frontend — вторая специализация продукт-инженера: чтобы один человек довёл продукт до пользователя, ему нужна и часть, которую пользователь видит. Стек — React + TypeScript. Backend-паттерны (UseCase, агрегаты, CQRS) на него не натягиваются — у frontend свои концерны.
Раздел разбит на 9 статей. Можно читать подряд (фундамент → данные и состояние → навигация и вид → качество) или точечно.
Фундамент
- Структура проекта и компонентная модель — раскладка, компонент как единица, типизация.
- Компоненты: структура и композиция — границы, композиция, props против состояния.
Данные и состояние
- Состояние: локальное и серверное —
useState/useReducer/context, когда стор. - Загрузка данных: TanStack Query — кеш, инвалидация, мутации.
- Формы: react-hook-form и zod — валидация, согласованность с backend-контрактом.
Навигация и вид
- Роутинг: React Router — маршруты, вложенность, защищённые маршруты.
- Стилизация и дизайн-токены — подходы и их цена, токены.
Качество
- Доступность (a11y) — семантика, клавиатура, ARIA.
- Тестирование: Vitest и Testing Library — поведение, а не реализация.
Связанное
- Продукт-инженер — карта специализаций и путь.
- Use Case Pattern (обзор) — методология, общий хребет специализаций.