Дизайн-система сайта: как навести порядок в интерфейсах

Обложка - Дизайн-система сайта: как навести порядок в интерфейсах
Автор
Александр Расин
Александр Расин директор по развитию

Прежде всего, разберемся, что такое «дизайн-система».

Когда у вас небольшой сайт или лэндинг, то для разработки дизайна вам достаточно десяток элементов и вдохновение дизайнера, когда же стоит задача разработать полнофункциональный интернет-магазин или сложный веб-сервис с десятком или сотней разнообразных интерфейсов, то без единого стандарта и правил уже не обойтись. И именно дизайн-система превращает разработку сайта или веб-сервиса из хаотичного процесса в управляемую конструкцию.

Проще говоря, дизайн-система — это как набор строительных блоков и правил, из которых собираются все интерфейсы сайта или веб-сервиса.

UI-kit и дизайн-система

Некоторые часто путают понятия, полагая, что «дизайн-система» и «UI-Kit» это одно и тоже. На самом деле, это не совсем так.

Проще всего представить так: UI-kit — это набор деталей, а дизайн-система — это целая система производства интерфейсов.

UI-kit — это библиотека визуальных элементов интерфейса. Она обычно включает типографику, кнопки, поля ввода, формы, иконки и навигацию.

UI-kit чаще всего создается в инструментах дизайна типа Figma.

Задача UI-kit — ускорить создание макетов и обеспечить единый визуальный стиль. Но UI-kit не описывает правила использования компонентов.

Дизайн-система это уже несколько другой уровень зрелости дизайна интерфейсов.

Дизайн-система — это фундамент всего дизайна проекта, она становится:

— библиотекой компонентов
— набором правил для использования интерфейсов
— связующим звеном между дизайном и кодом.

Сравнение UI-kit и дизайн-системы
Критерий UI-kit Дизайн-система
Что это Набор UI-компонентов Полная система правил и компонентов
Основная задача Ускорить дизайн Масштабировать продукт
Состав Компоненты UI-kit + правила + документация
Где используется В дизайне и разработке В дизайне и разработке
Масштаб Небольшие проекты Большие продукты и сервисы
Уровень зрелости Базовый Продвинутый

От хаоса к дизайн-системе

Чтобы понять, почему крупные современные проекты разрабатываются с помощью дизайн-систем нужно проследить как они эволюционируют от простого хаотичного дизайна к полноценной системе.

Итак, сначала воцарился хаос…

Это начальная стадия большинства проектов.

— каждая страница рисуется отдельно
— разные кнопки и формы
— попадаются разные шрифты
— нет единых правил, каждый новый дизайнер добавляет свою «изюминку»

Обычно, в жизни, так выглядит:

— старый корпоративный сайт
— продукт, который очень быстро рос и делался второпях
— проекты без UX-процесса.

Как вы понимаете, большинство старых проектов лет 15-20 назад было создано таким образом.

Следующим шагом разработчик начинает понимать, что интерфейсные элементы повторяются.

Появляются зачатки стандартизации:

— одинаковые кнопки
— типовые формы
— стандартные карточки

Но все это ещё делается не системно. Фактически элементы просто копируются между макетами.

Полагаю, что данную стадию мы с вами тоже прошли, но не так уж давно.

И вот появляется UI-Kit

В следующем витке развития появляется, так называемый UI-Kit (User Interface Kit), — дословно переводится с английского как «набор для пользовательского интерфейса».

UI-Kit действительно стал одним из передовых шагов в развитии интерфейсной разработки.

Почему появление UI-Kit — это реально прорыв вперед:

— UI-Kit позволил использовать одни и те же компоненты во всём продукте, сохраняя единый стиль
— Дизайнеры и разработчики начали использовать готовые блоки, а не придумывать каждый элемент заново
— Сократилось время создания страниц и приложений, что особенно важно для крупных продуктов
— UI-Kit стал общим языком между дизайнерами и разработчиками
— Теперь все стали понимать, как должен выглядеть и работать элемент, без лишних согласований

Фактически, произошел переход от «красивых картинок» к промышленной разработке интерфейсов.

Рождение дизайн-системы

После переосмысления UI-Kit происходит формирование следующего уровня понимания дизайна проекта, как полноценной дизайн-системы.

Если разработку каждой отдельной страницы, как мы делали в прошлом, представить, как строительство дома, то появление UI-компонентов — это изобретение современных строительных блоков, а создание дизайн-системы — появление городской инфраструктуры и строительных стандартов.

Теперь с помощью дизайн-системы можно строить целые города и поселки, создавать мощные веб-приложения на разных платформах, с возможностью неограниченного роста без потери качества и управляемости.


Какие задачи решает дизайн-система

Разберём, какие ключевые задачи закрывает дизайн-система и почему она становится фундаментом для развития сложных цифровых продуктов.

Единый язык и понимание интерфейсов

Дизайн-система создаёт общий визуальный и UX-язык для всей команды.

Она определяет:

— цвета
— типографику (оформление текста)
— сетки
— отступы
— стиль компонентов
— правила взаимодействия

В результате дизайнеры, разработчики и продуктовые менеджеры говорят на одном языке интерфейсов.

Библиотека компонентов

Как мы уже сказали, дизайн-система содержит в себе UI-kit.

В инфраструктуре интерфейсов есть все готовые «строительные блоки».

Например,

— кнопки
— поля ввода
— формы
— карточки
— навигация
— модальные окна

Как правило, эти компоненты разрабатываются в популярном графическом редакторе Figma. Этот инструмент стал отраслевым стандартом для работы с дизайн-системами благодаря удобной работе с компонентами, библиотеками и совместной работе дизайнеров и разработчиков.

Правила использования интерфейсов

Инфраструктура системы — это не только элементы, но и правила их использования.

Дизайн-система описывает:

— когда использовать кнопку
— когда применять модальное окно
— как должны выглядеть формы
— какие состояния есть у компонентов.

Это предотвращает хаос в интерфейсах.

Синхронизация дизайна и разработки

Без системы часто возникает проблема:

— дизайнеры рисуют одно
— разработчики реализуют другое.

Дизайн-система устраняет этот разрыв. Синхронизация дизайна и разработки гарантирует, что то, что проектируют дизайнеры, точно реализуется в коде разработчиками.

С помощью чего достигается синхронизация разработки?

1. Дизайнер и программист используют общие компоненты. Дизайнер рисует компонент, а разработчик использует тот же компонент в коде, без переделок.

2. Каждый элемент описан. По каждому элементу есть представление:

— как выглядит в разных состояниях (hover, active, disabled)
— какие есть размеры и отступы
— когда и где его использовать

3. Автоматизация обновлений. Если дизайнер меняет базовый компонент (например, цвет кнопки), изменения автоматически применяются во всех местах, где этот компонент используется.

Масштабирование продукта

Когда продукт быстро растет — количество интерфейсов увеличивается, появляются новые страницы, новые функции и сервисы.

С дизайн-системой новые интерфейсы собираются из готовых компонентов достаточно быстро, сохраняя единообразие и предыдущую логику системы.

Новые разделы сайта автоматически соответствуют общему стилю, и не требуют повторного согласования у дизайнеров и разработчиков.

Кому нужна дизайн-система

Если в Вашем проекте больше 30–40 экранов, то дизайн-система уже крайне необходима. Как правило, стандартный интернет-магазин уже содержит не менее 30 ключевых экранов.

Вот лишь неполный их перечень:

— Главная страница
— Страница каталога
— Страница категории
— Страница подкатегории
— Страница бренда
— Страница серии
— Карточка товара
— Сравнение товаров
— Избранное
— Конфигуратор товаров
— Результаты поиска
— Быстрый поиск
— Корзина
— Оформление заказа
— Успешный заказ
— Быстрый заказ
— Авторизация пользователя
— Регистрация пользователя
— Личный кабинет
— Мои заказы
— Программа лояльности

И это лишь типовой интернет-магазин. В сложных цифровых продуктах — веб-сервисах, SaaS-платформах или корпоративных системах — где присутствуют формы, отчёты, дашборды и различные пользовательские сценарии, количество интерфейсов может достигать десятков и даже сотен экранов.

В каких случаях дизайн-система действительно необходима:

— у компании много интерфейсов (сайт, личный кабинет, сервис, мобильное приложение)
— продукт постоянно развивается и добавляются новые разделы и функции
— над проектом работает несколько дизайнеров и разработчиков
— интерфейсы постепенно начинают терять единый стиль
— разработка новых страниц становится слишком долгой

Соответственно обычно дизайн-систему заказывают под:

— интернет-магазины
— SaaS-сервисы
— маркетплейсы
— личные кабинеты клиентов
— CRM-системы
— крупные корпоративные сайты

Что входит в разработку дизайн-системы

При создании дизайн-системы мы формируем следующие элементы:

1. Базовый «дизайн-фундамент»

Фундамент определяет визуальную концепцию проекта и обеспечивает единообразие всех страниц и сервисов
— цветовая схема (основные цвета бренда и дополнительные) и правила использования цветов
— типографика (набор шрифтов, размеры заголовков, стили текста, межстрочные интервалы, H1-H6)
— сетки и адаптив (структура страницы, адаптация под разные экраны)
— система отступов (вертикальные и горизонтальные отступы, стандарты расположения элементов)
— иконки (единый стиль иконок, размеры, правила использования)

2. UI-компоненты (наш «строительный материал»)

Базовые элементы

— кнопки
— ссылки
— поля ввода
— чекбоксы
— радиокнопки
— переключатели

Формы

— текстовые поля
— выпадающие списки
— валидация данных
— подсказки

Навигация

— меню
— хлебные крошки
— вкладки
— пагинация

Контентные элементы

— карточки
— списки
— таблицы
— блоки информации

Интерактивные элементы

— модальные окна
— всплывающие подсказки
— уведомления
— всплывающие меню

Каждый компонент реализуется в различных размерах и возможных состояниях:

— hover (наведение)
— active (активное/нажатие)
— disabled (неактивно/отключено)
— loading (загрузка)
— error (ошибка)

3. Библиотека компонентов для разработки

Чтобы дизайн-система работала не только в макетах, но и в реальной разработке, все ключевые компоненты реализуются в коде. На этой основе формируется библиотека интерфейсных компонентов, которую используют разработчики.

Она включает:

— компоненты на React / Vue / HTML
— единые стили и дизайн-токены (CSS)
— переиспользуемые интерфейсные блоки

Вместо того чтобы каждый раз разрабатывать элементы с нуля, команда использует готовые решения из библиотеки.

В результате дизайн и разработка начинают работать как единая система, а не как два разрозненных процесса.

4. Документация дизайн-системы

Дизайн-система — это не только элементы, но и правила их применения.

Документация описывает:

— структуру дизайн-системы
— все компоненты
— их состояния
— примеры использования
— UX-рекомендации

Также описываются правила использования интерфейсов:

— где использовать компонент
— где нельзя использовать
— UX-правила (что происходит при клике, где нужны подтверждения, валидация, подсказки, автозаполнение)
— адаптивные сценарии (как ведет себя интерфейс на десктопе, в мобильной версии или, например, при плохом интернете)

В результате документация становится единым справочником интерфейсов для всей команды.

5. Интеграция с инструментами разработки

Современные дизайн-системы не существуют отдельно от процессов команды. Они интегрируются с инструментами дизайна и разработки, благодаря чему дизайнеры и разработчики работают с одними и теми же компонентами и поддерживают дизайн и код в синхронном состоянии.

Инфраструктура дизайн-системы обычно включает несколько взаимосвязанных слоёв:

— Figma — хранение UI-kit, компонентов, макетов и дизайн-токенов
— Git-репозиторий (GitHub / GitLab) — управление кодом и версиями компонентов
— Библиотека компонентов — реализованные в коде UI-компоненты, обычно на базе React, Vue или Web Components.

Готовые дизайн-системы

На самом деле, не всегда нужно изобретать велосипед... Иногда проще просто сесть на него и поехать. То же и для дизайн-систем.

Сегодня на рынке уже существуют готовые дизайн-системы, которые можно использовать как основу для проекта.

Наиболее популярные дизайн-системы создаются технологическими гигантами и задают направление для UI/UX дизайнеров по всему миру. Они включают в себя не только наборы компонентов (UI-Kits), но и философию дизайна, правила типографики и цвета, и другие лучшие практики.

Среди мировых лидеров индустрии: Material Design от Google, Human Interface Guidelines от Apple, Fluent Design System от Microsoft, Polaris от Shopify и другие. На Российском рынке можно выделить следующие решения: VKUI от ВК, Kontur UI от Контур, Plasma от Сбер.

Некоторые дизайн-системы становятся настолько популярны, что обзаводятся сторонними UI-Kit под популярные платформы и технологии. Например, Material Design: его самые популярные реализации под React и Vue – MUI и Vuetify, соответственно.

Чтобы эффективно разрабатывать проекты с сложным UI/UX мы используем готовые UI-Kit. Такой подход позволяет нам существенно сократить время на разработку, внедрив один дополнительный этап в разработку дизайн-систем – синхронизацию требований дизайн-системы с возможностями UI-Kit.

Например, именно так мы поступили при разработке серии проектов для компании "Деломедика".

При согласовании подходов совместно с заказчиком было принято решение использовать готовую дизайн систему (UI-фреймворк Vuetify) с адаптацией к фирменному стилю компании, поскольку разработка индивидуальной системы не укладывалась в бюджетные параметры проекта.

Почему мы выбрали Vuetify

При выборе UI-фреймворка мы руководствовались не подходом “лучше/хуже”, а принципом, что лучше всего соответствует целям и задачам проекта.

Надо понимать, есть две крайности:

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

2. Кастомная разработка — это очень качественно, гибко и круто, но долго и дорого.

Vuetify же находится посередине: он дает мощную готовую компонентную базу и, в тоже время, может адаптироваться под задачи и фирменный стиль проекта клиента.

Нам важно, что для типовых продуктов, таких как личные кабинеты, интернет-магазины, B2B-сервисы, дашборды, корпоративные сервисы Vuetify закрывает 80-90% задач без существенных доработок.

В общем, Vuetify отлично подходит, если:

— интерфейс состоит из типовых блоков
— нет сложной анимации и уникального UI
— логика предсказуемая (формы, списки, фильтры)
— нет жёстких требований к брендингу

Особенно же Vuetify хорош для стартапов и быстрых запусков, когда важно “выйти в прод” максимально быстро.

Сколько экономит дизайн-система

Одна из главных причин внедрения дизайн-системы — снижение стоимости разработки и ускорение создания новых интерфейсов.

Когда интерфейсы создаются хаотично, каждая новая страница фактически проектируется и разрабатывается с нуля. Это приводит к постоянным переработкам, несогласованности элементов и увеличению времени разработки.

Дизайн-система решает эту проблему за счёт повторного использования компонентов.

Вместо того чтобы:

— проектировать новый элемент
— рисовать его в дизайне
— верстать с нуля
— тестировать

команда просто использует уже готовый компонент.

В результате:

время создания интерфейсов сокращается в 2–3 раза
— новые страницы разрабатываются значительно быстрее
— снижается количество согласований между заказчиком, дизайнером и разработчиком.

Главная выгода — скорость развития продукта

Самая большая выгода дизайн-системы — это не только снижение стоимости разработки, но и ускорение запуска и развития продукта.

Скорость запуска MVP (минимально жизнеспособного продукта) – вот, что становится главным для компании при выходе на рынок или при тестировании новых товаров или услуг.

Вот почему дизайн-системы используют практически все крупные технологические компании.

Как мы внедряем дизайн-систему

В нашей компании процесс внедрения дизайн-системы обычно происходит в несколько этапов.

1. UX/UI аудит

Первый этап — анализ существующего продукта и его интерфейсов.

Что входит в UX/UI аудит:

— анализ интерфейса (понятность интерфейса, логика взаимодействия)
— анализ пользовательских сценариев: ключевые пути (регистрация, покупка, заявка), узкие места
— аналитика и поведение пользователей (анализ данных из Яндекс.Метрики)
— просмотр карты кликов и записи сессий (изучаем поведение пользователей)
— UI-аудит (аудит визуальной части)
— проверка адаптивности (тестирование на разных устройствах и разрешениях)

Вот некоторые типовые UX-проблемы, которые регулярно присутствуют в проектах:

— непонятно, куда нажать или что делать дальше
— слишком много шагов для простого действия
— лишние поля в формах
— запутанная навигация (пользователь теряется и не понимает, где он находится, важные страницы «закопаны» слишком глубоко)
— перегруженный интерфейс (слишком много элементов на экране, нет визуальной иерархии)
— важные элементы плохо заметны
— похожие элементы работают по-разному (нет логики)
— кнопки и ссылки выглядят не очевидно
— одинаковые элементы работают по-разному
— разные стили кнопок, отступов, форм
— плохая адаптивность (интерфейс ломается на мобильных, элементы слишком мелкие)
— нет подтверждений, ошибок или статусов загрузки (пользователь не понимает, что произошло после действия)

На основе анализа мы формируем карту интерфейсов проекта и определяем, какие элементы должны войти в будущую дизайн-систему.

2. Разработка дизайн-системы

Далее идет процесс разработки. Мы формируем базовую основу интерфейсов — так называемый design foundation, далее проектируем библиотеки компонентов UI-kit, переводим библиотеки в код, подготавливаем документацию и презентуем готовую дизайн-систему Заказчику.

3. Внедрение дизайн-системы в процессы команды

После согласования дизайн-системы остается внедрить систему в рабочие процессы Заказчика.

Мы помогаем команде:

— интегрировать систему в дизайн-процессы
— подключить библиотеку компонентов в разработке
— синхронизировать работу дизайнеров и программистов

После внедрения команда начинает использовать дизайн-систему при создании всех новых интерфейсов самостоятельно.

Когда дизайн-система НЕ нужна

Несмотря на все преимущества, разработка дизайн-системы подходит не для каждого проекта.

Во-первых, это удовольствие не из дешевых.

Во-вторых, в некоторых случаях создание дизайн-системы может быть избыточным и не принесёт заметной экономии.

Дизайн-система оправдана прежде всего для крупных и постоянно развивающихся продуктов. Если же проект небольшой или не предполагает масштабирования, достаточно простого UI-kit.

Где точно дизайн-система не нужна:
— лендинг
— промо-сайт
— небольшой корпоративный сайт
— сайт-визитка
— разовые маркетинговые проекты

Такие проекты часто имеют короткий жизненный цикл и редко масштабируются.

Продукты на ранней стадии

Если продукт только запускается, и его концепция ещё активно меняется, создание дизайн-системы может быть преждевременным.

На раннем этапе:
— интерфейсы часто перерабатываются
— меняется структура продукта
— появляются новые сценарии использования

В такой ситуации сначала лучше разработать базовый интерфейс и протестировать продукт на пользователях.

Когда продукт стабилизируется и начинает расти, можно переходить к созданию дизайн-системы.

Разработка дизайн-системы для вашего проекта

Наша практика показывает, что любой растущий проект рано или поздно приходит к одному и тому же выводу:

интерфейсы можно бесконечно «латать» и переделывать…

но гораздо эффективнее один раз выстроить систему, в которой всё работает по понятным правилам.

Именно так мы и подходим к разработке интерфейсов в Mediahead. Мы не просто рисуем красивые экраны. Наша задача — выстроить системную основу продукта: определить дизайн-фундамент, собрать библиотеку UI-компонентов, синхронизировать дизайн и разработку и подготовить понятную документацию для команды.

В итоге заказчик получает не просто набор макетов, а полноценную систему интерфейсов, с которой удобно работать и которую легко развивать.

Такая система позволяет:

— быстрее запускать новые страницы и функции
— заметно снижать стоимость дальнейшей разработки
— поддерживать единый стиль и логику интерфейсов
— спокойно масштабировать продукт без хаоса в дизайне.

Рекомендуем посмотреть

Получите бесплатную 30-минутную консультацию по разработке дизайн-системы для вашего проекта