[Интерфейсы, Дизайн] Тупые и умные компоненты

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
21-Сен-2020 02:30


Меня зовут Илона, я Senior Experience Designer в EPAM. Работа для меня удачно совпадает с хобби — в EPAM я проектирую интерфейсы для зарубежных заказчиков, читаю лекции для сотрудников и студентов лабы, менторю дизайнеров. В свободное время преподаю проектирование интерфейсов в магистратуре Университета ИТМО и веду Телеграм-канал о UX-дизайне.
В работе и преподавании я часто сталкиваюсь с проблемой: сложно организовать компоненты интерфейса так, чтобы было всегда понятно, какой компонент использовать, чтобы похожие компоненты не плодились и не путали дизайнеров и разработчиков.Делюсь подходом, который помогает мне удобно организовать компоненты и упростить жизнь себе и разработчикам.Что вообще такое компонентыГрафический интерфейс (GUI), как правило, состоит из кнопок, полей, чекбоксов, текстовых блоков и пр. Именно это мы называем «компоненты» — эдакая интерактивная (или нет) «обёртка» контента: кнопка «Оформить заказ»; чекбокс «Я принимаю условия соглашения» и т.д.Для UX-дизайнера интерфейс в первую очередь — инструмент решения пользовательских задач. Задача всегда существует в контексте: регистрация в контексте сайта авиакомпании, покупка в контексте интернет-магазина одежды. Поэтому дизайнеру очень важно использовать реальные заголовки, названия кнопок, пункты списков. Именно так мы иллюстрируем решение определённой задачи в определённом контексте.Но привязанность к контексту таит в себе потенциальную опасность, особенно для крупных и долгоиграющих проектов: контекстуализированные компоненты может быть сложно переиспользовать.Посмотрим на простом примереДизайним карточку товара в интернет-магазине: картинка, информация, цена и кнопка «Купить».
А ещё требуется карточка товара для корзины. Там нет кнопки «Купить», зато есть кнопка «Удалить» и селектор количества товара. Звучит как новый компонент. Делаем!
Спустя какое-то время дизайним новую фичу — личный кабинет. Карточка требуется уже не для товара, а для пользователя. Совсем другой компонент. Делаем!
И вот у нас уже 3 компонента «Карточка».
Карточки во всем своем многообразииТеперь мы хотим показать информацию о заказе в личном кабинете. Неплохо смотрелась бы… Карточка!
Какую же из трёх использовать? Ни одна толком не подходит. Проще уже сделать новую.Проходит время, карточки разработаны и живут в разных местах системы.Однажды мы решаем разом модернизировать все карточки — сделать изображения круглыми. Модно!
Изменения во всех карточках становятся испытанием для дизайнера и болью для разработчиков, потому что карточек много и они разные.
Три группы правок в нескольких местах на макетах и в системеИзменений бы потребовалось в три раза меньше, если бы карточку переиспользовали.Зачем и как переиспользовать компонентыПереиспользование компонентов помогает:
  • облегчить жизнь себе и разработчикам;
  • пользователям предсказывать поведение интерфейса (увидел компонент — понял как работает — знаю чего ожидать)
Во имя переиспользования, по примеру разработчиков React.js, делим компоненты на два типа: «тупые» и «умные».
«Тупой» компонент не привязан к бизнес-логике. Вместо контента в нём — рыба, максимальное количество состояний и элементов. Универсальный кирпичик для конструктора интерфейса.
Если же «тупой» компонент размещается в контексте, на определённой странице, оснащается конкретным контентом и функциональностью — он становится «умным».«Умный» компонент привязан к бизнес-логике. Он исполняет определённую функцию в конкретном месте. Умный компонент является реализацией «тупого».
Можно сказать, что тупой компонент — шаблон, а умный компонент — пример его применения.
Шаблон карточки и примеры его примененияПример с карточками сделан в Figma. «Тупая» карточка — Figma-component с применением Auto Layout. Благодаря этому элементы карточки можно удалять и менять, а её размер подстроится под изменения. Умная карточка — Figma-instance.
Достаточно внести изменения в «тупом» компоненте, и они автоматически окажутся в «умных». Также происходит и в разработке, если код компонента переиспользуется.
Скругление всех картинок одним движениемТупой UI kitПростая и понятная библиотека компонентов (UI kit), элементы которой легко переиспользовать и обновлять — турбо-ускоритель дизайна и разработки. И состоит такая библиотека из тупых компонентов. Я называю её «Тупой UI kit».
Если на вашем проекте уже есть UI kit, попробуйте сделать все компоненты в нём тупыми. Скорее всего, вы с удивлением обнаружите, что многие компоненты можно унифицировать: объединить похожие или удалить повторяющиеся. «Отупить» UI kit может быть непросто, понадобится время на ревизию системы и сильный дизайн-инструмент. Figma отлично справляется, но и Sketch не отстает.«Тупой UI kit» облегчит работу над дизайном, избавив от необходимости плодить компоненты и изобретать велосипед. Разработчики тоже скажут вам спасибо за то, что они могут переиспользовать код компонента.
«Тупой UI kit» также может стать основой для создания Storybook проекта.Выводы
Разделяя компоненты на «умные» и не очень, вы:
  • создаете унифицированный интерфейс;
  • оптимизируете дизайн и разработку, не выдумывая новые компоненты без необходимости;
  • оставляете возможность легко вносить изменения в дизайн и код;
  • делаете поведение компонентов предсказуемым для пользователей.
Больше о проектировании интерфейсов и UX можно почитать в моём телеграм-канале «Поясни за UX».
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_interfejsy (Интерфейсы), #_dizajn (Дизайн), #_ux, #_ui, #_ux_design, #_komponenty (компоненты), #_biblioteka_komponentov (библиотека компонентов), #_ui_kit, #_interfejsy (интерфейсы), #_dizajnprotsessy (дизайн-процессы), #_blog_kompanii_epam (
Блог компании EPAM
)
, #_interfejsy (
Интерфейсы
)
, #_dizajn (
Дизайн
)
Профиль  ЛС 
Показать сообщения:     

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

Текущее время: 16-Ноя 10:09
Часовой пояс: UTC + 5