Урок 16. Домашнее задание: обоснование выбора

📁 Раздел: shadcn/ui ⏱️ Время изучения: ~40 мин 🎯 Сложность: Средняя

⚡ Кратко

Подготовить обоснованное решение: подходит ли shadcn/ui вашему проекту. Документ на одну страницу с аргументами, рисками и планом.

Задание

Возьмите реальный или воображаемый проект и напишите короткий документ (полстраницы-страница) по структуре:

  1. Контекст: что за проект, кто в команде, есть ли дизайнер и макеты.
  2. Требования к интерфейсу: насколько дизайн уникален, нужна ли тёмная тема, есть ли требования по доступности.
  3. Решение: shadcn/ui, готовая библиотека или свои компоненты.
  4. Аргументы: три «за» и минимум один честный «против».
  5. Риски и как их снижаем: кто владеет components/ui, как обновляем, что делаем с расхождениями.

Подготовка окружения

Для этого задания код не нужен, но полезно посмотреть, как выглядит реестр вживую:

npx shadcn@latest search        # какие элементы доступны
npx shadcn@latest view button   # исходник конкретного компонента

Пошаговое решение

Шаг 1. Честно оцените ресурс

Главный вопрос — не «нравится ли подход», а «кто будет вести компоненты через полгода». Если ответа нет, это сильный аргумент в пользу готовой библиотеки.

Шаг 2. Оцените уникальность дизайна

Чем ближе макет к «стандартному», тем выгоднее библиотека. Чем больше в макете собственных решений, тем быстрее вы упрётесь в её API.

Шаг 3. Проверьте требования по доступности

Если проект обязан соответствовать нормам доступности, слой примитивов — сильный аргумент: он закрывает большую часть требований к поведению.

Шаг 4. Опишите процесс

Кто ревьюит изменения в components/ui, как часто сверяемся с реестром (--diff), где фиксируем отличия от «ванильной» версии.

Как проверить

  • В документе есть хотя бы один аргумент против выбранного решения.
  • Указан ответственный за компоненты.
  • Описан процесс обновления, а не только первичная установка.
  • Решение опирается на контекст проекта, а не на моду.
Такой документ — это мини-ADR (запись архитектурного решения). Привычка фиксировать «почему выбрали именно это» экономит массу времени, когда через год кто-то спросит «а почему у нас не MUI?».