Frontend
Frontend-специализация на React + TypeScript: фундамент платформы (this, event loop, события DOM, рендер, анимации, сборка), компоненты, состояние, данные, формы, роутинг, качество.
Зачем для UCP. Frontend — вторая специализация продукт-инженера: чтобы один человек довёл продукт до пользователя, ему нужна и часть, которую пользователь видит. Стек — React + TypeScript. Backend-паттерны (UseCase, агрегаты, CQRS) на него не натягиваются — у frontend свои концерны.
Раздел разбит на 20 статей. Можно читать подряд (платформа → фундамент → данные и состояние → навигация и вид → качество) или точечно.
JavaScript и браузер
- this: контекст вызова — четыре правила, стрелочные функции, потеря this в колбэках.
- Event loop: как работает и где стреляет — макро- и микрозадачи, порядок выполнения, длинные задачи.
- События DOM — всплытие и погружение, делегирование, passive-слушатели.
- Критический путь рендера — от байтов HTML до пикселей: что блокирует и что дорого.
- Обработка ошибок в JS и браузере — try/catch, unhandledrejection, глобальные обработчики, мониторинг.
- Анимации: CSS и оптимизации — transform/opacity, will-change, 60fps.
- Сборка фронтенда — Vite и webpack, code splitting, tree shaking.
Фундамент
- Структура проекта и компонентная модель — раскладка, компонент как единица, типизация.
- Компоненты: структура и композиция — границы, композиция, props против состояния.
- TypeScript в React — типизация пропсов, generics, дискриминированные union, события и ref.
- Хуки: кастомные и ловушки useEffect — извлечение логики, правила хуков, когда useEffect не нужен.
Данные и состояние
- Состояние: локальное и серверное —
useState/useReducer/context, когда стор. - Загрузка данных: TanStack Query — кеш, инвалидация, мутации.
- Обработка ошибок и Suspense — error boundaries, состояния ошибок, graceful degradation.
- Формы: react-hook-form и zod — валидация, согласованность с backend-контрактом.
Навигация и вид
- Роутинг: React Router — маршруты, вложенность, защищённые маршруты.
- Стилизация и дизайн-токены — подходы и их цена, токены.
Качество и производительность
- Доступность (a11y) — семантика, клавиатура, ARIA.
- Производительность рендеринга — мемоизация по делу, code-splitting, размер бандла.
- Тестирование: Vitest и Testing Library — поведение, а не реализация.
Дальше: мобильная разработка для продукт-инженера — раздел /mobile/: тот же React + TypeScript, упакованный в нативные обёртки (web-first).
Связанное
- Мобильная разработка — тот же стек в нативных обёртках: PWA, Capacitor, iOS/Android.
- Продукт-инженер — карта специализаций и путь.
- Use Case Pattern (обзор) — методология под капотом; необязательный deep-dive для тех, кто хочет метод.