Разработка дизайн-системы интерфейсов нужна продукту, где одни и те же элементы ведут себя и выглядят по-разному, а изменение формы или таблицы требует повторного проектирования. Собираем правила, компоненты и документацию вокруг реальных сценариев. Набор красивых кнопок без состояний, ограничений и связи с разработкой не решает эту задачу.
Аудит действующего продукта
Собираем экраны, пользовательские потоки и существующие компоненты. Выявляем дубли, разные названия одного поведения и места, где единый элемент действительно не подходит. Для B2B-системы важны плотные таблицы и сложные формы; для мобильного продукта — навигация, ввод и реакции на ошибки.
Определяем границы первой версии: один продукт, семейство сервисов или несколько брендов. Не переносим все найденные отличия в варианты компонента. Сначала решаем, что является необходимым различием, а что — накопившейся несогласованностью.
Проектирование новых интерфейсов
Если ключевые пользовательские сценарии ещё не определены, сначала нужен дизайн самих экранов и потоков. Библиотека не заменяет это проектирование.
Разработка дизайна интерфейсовТокены и визуальные основы
Описываем цвет, типографику, интервалы, размеры, радиусы и применимые правила движения. Разделяем исходные значения и смысловые роли: цвет текста ошибки должен задаваться назначением, а не произвольным номером оттенка. Если нужны темы, проверяем переключение на реальных поверхностях и состояниях.
Названия и структура токенов согласуются с разработчиками. Figma variables и стили помогают использовать правила в макетах, но сами по себе не обеспечивают автоматическое совпадение с кодом. Формат передачи, преобразование в CSS или другой стек и ответственность за обновление определяются отдельно.
Компоненты и сложные состояния
Проектируем применимые кнопки, поля, выборы, уведомления, диалоги, навигацию и таблицы. Для каждого элемента описываем назначение, варианты, размеры и состояния: фокус, ошибка, загрузка, отсутствие данных, недоступность. Для таблицы важны сортировка, выделение, фильтры и длинные значения, а не только заголовок и три демонстрационные строки.
В Figma организуем компоненты, свойства и варианты так, чтобы библиотекой можно было пользоваться без ручного разрушения экземпляров. Текстовые свойства и составные компоненты позволяют описывать содержание, не создавая отдельную копию для каждой подписи. Возможности публикации библиотек зависят от тарифов рабочего пространства.
Правила поведения и доступность
Фиксируем клавиатурное управление, порядок фокуса, сообщения проверки и сценарии восстановления. Цвет не должен быть единственным способом сообщить ошибку. Проверяем длинные тексты, локализацию, увеличение интерфейса и адаптивные ограничения в согласованном составе.
Для разных платформ сохраняем подходящие нативные привычки, а не копируем веб-диалог в мобильное приложение без изменения. Дизайн-система должна объяснять, когда использовать компонент и когда выбрать другое решение. Эта документация нужна и дизайнеру, и разработчику, и тестировщику.
Передача и развитие библиотеки
Проверяем систему на нескольких настоящих экранах: сложной форме, списке, карточке и состоянии ошибки. Сопоставляем макет с реализацией, выявляем недостающие свойства и корректируем правила. Реализация компонентов в React, Vue, Angular или мобильном стеке включается только в согласованный объём.
Результат — библиотека Figma, перечень токенов и компонентов, примеры и правила изменений. Назначаем владельца, порядок предложения нового элемента и совместимость обновлений. Без этого следующая команда быстро создаст вторую несвязанную библиотеку.
Вопросы перед началом работ
Чем дизайн-система отличается от UI kit?
UI kit обычно содержит визуальные элементы. Дизайн-система дополнительно описывает назначение, поведение, состояния, ограничения и порядок развития. Для продукта важна возможность воспроизводить решения, а не только копировать макеты.
Обязательно сразу писать библиотеку компонентов?
Нет. Можно начать с дизайна и согласованного контракта с разработкой. Но тогда нельзя считать код автоматически синхронизированным. Объём реализации и документации фиксируем отдельно.
Можно построить систему на существующем интерфейсе?
Да. Аудит помогает сохранить рабочие решения и убрать дубли. Не каждый элемент требует полного редизайна; изменения проверяем на основных сценариях и ограничениях продукта.
Подойдёт одна библиотека для веба и мобильных приложений?
Общие визуальные основы могут совпадать, но поведение и навигация платформ различаются. Определяем общую часть и платформенные компоненты, не принуждая все экраны к одному шаблону.
Как проверяется готовность?
Команда собирает реальные экраны из библиотеки, проходит состояния и сопоставляет их с кодом. Проверяем документацию и обновление компонентов. Число нарисованных элементов само по себе не показывает пригодность системы.