Оффтоп tdsgn
605

Взаимодействие UI-дизайнера и Frontend-разработчика

В закладки

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

Дизайнер интерфейсов и фронтенд-разработчик — кто они?

UI-дизайнер создает понятные и простые интерфейсы для пользователя. Главную роль играют удобство и внешний вид.

Для примера:

UI — то, как выглядит телевизор.

Плохой UI — когда на экране черная тонировка.

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

Сложность в понимании

Проблема №1 — непонимание функционала

Дизайнер должен понимать уровень фронтенда. Он рисует красивый дизайн, продумывает анимацию и отдает макет в работу. Фронтенд верстает и получается ерунда. Уровень разработчика не дотягивает до поставленной задачи.

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

Проблема №2 — дизайнер и фронтенд не работают в одном помещении

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

Со специалистом на аутсорсе, также, ничего путного не выйдет. Без прямой коммуникации он не поймет «настроение» проекта. Концепция продумывается коллективом и в ходе обсуждения каждый понимает свою задачу. Фрилансеру придется объяснять проект от и до.

Записывать скринкасты с демонстрацией анимации, разжевывать каждый момент. Верстка на «удаленке» — куча потраченного времени и сомнительный результат. Вся команда должна быть «на одной волне», каждый всегда привносит что-то в проект.

Наше решение

Хотите ускорить рабочий процесс — посадите дизайнера и фронтенд-разработчика в одно помещение. Еще лучше — за один стол. Офис Студии основан на технологии открытого пространства, в простонародье «open space». Коллектив постоянно общается, обсуждается каждая концепция, согласовываются идеи. В ходе беседы каждый представляет, что будет в проекте и как это реализовать, вносит свои предложения. Ощущается работа единого организма.

Дизайнеру ничего не мешает «подкатить» на стуле и обсудить детали. Стоит ли говорить, что тестировать проект вдвоем гораздо эффективнее? Ошибки всплывают сразу. Решения приходят быстро. Правки вносятся незамедлительно.

Синхронизация

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

Каждую неделю мы собираемся и просматриваем отобранные сайты. Делимся впечатлениями, разбираем конструктив и логику. Такой подход прививает навыки «хороших и плохих решений». Позволяет понять, где дизайн хорош, а где не очень, и что можно поменять.

Фронтенд и дизайнер в одном лице

Пусть каждый занимается своим делом. Нельзя одинаково хорошо проектировать и строить дома. Как только начинаете распыляться, оказываетесь на шаг позади. Разработчики считают, что обе профессии подвластны одному человеку. На digital-рынке встречаются универсалы, которые и «дизайнят» и верстают.

У нас свое мнение на этот счет. Fullstack-дизайнер сделает проще. Не в его интересах создать невероятный дизайн, а потом страдать над реализацией. Он будет ограничивать себя в действиях до тех пор, пока проект не станет максимально простым. Не стремитесь быть лучшими во всем. Своей сферы достаточно.

Сложности 2.0

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

Ошибки начинаются на стадии сохранения. Существует немало рекомендаций по именованию, которыми пренебрегают. Шутки про кучу файлов, с названием «FINAL123123.psd», появились не просто так. В зависимости от проекта исходник весит от 100 МБ до двух гигабайт. Разработчик скачивает файл, но с ним не всегда комфортно работать. Мощности компьютера не хватает, редактор зависает.

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

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

Figma

Для работы мы используем Figma — «open space» в виртуальной реальности. Относится к линейке современных инструментов, который объединяет в себе фишки по работе с векторной графикой и прочим инструментами UI дизайна. Figma взяла лучшее от Sketch и Zeplin и добавила свое.

Удобство в Figma — одновременный доступ к проекту в режиме реального времени. По «бегающему» курсору видно, кто в проекте и над чем работает. Организация файлов в облачном хранилище исключает возможность потери проекта. Простой контроль позволяет видеть, кто и когда вносил изменения, а также, откатиться до нужной версии, автоматически сохранив копию макета.

Изменения вносятся онлайн. Последняя версия всегда перед глазами. Из макетов легко вытащить и заменить необходимую информацию. Если для работы в Photoshop нужно обладать навыками, то Figma этого не требует. Интерфейс простой. Можно работать как в браузере, так и в десктопном приложении.

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

Еще немного приятных фишек Figma

  • Группам объектов можно отдельно задавать размеры для ширины и высоты;
  • Теперь ошибки о недостающих шрифтах не испугают. Figma работает с Google Fonts напрямую;
  • Интеграция с Framer одним щелчком мыши. Внедряйте идею интерфейса в код и тестируйте;
  • Поддержка графики SVG — иконки при экспорте не теряют детали и градиент;
  • Совместная работа в облаке;
  • Удобная файловая система.

Чем хочется подытожить

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

Работа дизайнера интерфейсов и фронтенд-разработчика — отлаженный механизм. Залог завершенного проекта строится на общении. Знайте сильные и слабые стороны друг друга, обсуждайте проект «на берегу» и не придется исправлять ошибки.

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "tdsgn", "author_type": "self", "tags": [], "comments": 25, "likes": 5, "favorites": 1, "is_advertisement": false, "subsite_label": "flood", "id": 36020, "is_wide": false }
00
дни
00
часы
00
мин
00
сек
(function(){ var banner = document.querySelector('.teaserSberbank'); var isAdsDisabled = document.querySelector('noad'); if (!isAdsDisabled){ var countdownTimer = null; var timerItem = document.querySelectorAll('[data-sber-timer]'); var seconds = parseInt('15388' + '59599') - now(); function now(){ return Math.round(new Date().getTime()/1000.0); } function timer() { var days = Math.floor(seconds / 24 / 60 / 60); var hoursLeft = Math.floor((seconds) - (days * 86400)); var hours = Math.floor(hoursLeft / 3600); var minutesLeft = Math.floor((hoursLeft) - (hours * 3600)); var minutes = Math.floor(minutesLeft / 60); var remainingSeconds = seconds % 60; if (days < 10) days = '0' + days; if (hours < 10) hours = '0' + hours; if (minutes < 10) minutes = '0' + minutes; if (remainingSeconds < 10) remainingSeconds = '0' + remainingSeconds; if (seconds <= 0) { clearInterval(countdownTimer); } else { timerItem[0].textContent = days; timerItem[1].textContent = hours; timerItem[2].textContent = minutes; timerItem[3].textContent = remainingSeconds; seconds -= 1; } } timer(); countdownTimer = setInterval(timer, 1000); } else { banner.style.display = 'none'; } })();
{ "id": 36020, "author_id": 160916, "diff_limit": 1000, "urls": {"diff":"\/comments\/36020\/get","add":"\/comments\/36020\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/36020"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199791 }

25 комментариев 25 комм.

Популярные

По порядку

Написать комментарий...
3

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

Ответить
1

Солидарен, но статью плюсанул - надо стимулировать появление подобного контента тут, ибо маловато его пока.

Ответить
0

подобного не надо

Ответить
0

Почему? И кому?

Ответить
1

потому, что он бессмысленный и беспощадный.

Ответить
0

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

Ответить
0

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

Ответить
1

у меня другое мнение

Ответить
1

И это прекрасно, просто дай и другому мнению пожить немного.

Ответить
0

+1 за Фигму - я рад, что информация об этом сервисе разносится в массы, пофиг какого качества. Нужно привлечь больше внимания, так как по факту сейчас это безальтернативный выбор дизайнера интерфейсов (не надо мне только про скетч сейчас затирать, товарищи яблочники). Больше внимания = больше давления на разработчиков, глядишь подсуетятся и быстрее внедрят новые фичи.

-1 за вот это:
Хотите ускорить рабочий процесс — посадите дизайнера и фронтенд-разработчика в одно помещение.

Тем временем, 2018 год на дворе. Удалёнка и распределённые команды уже давно доказали свою жизнеспособность, эффективность и экономичность. Спорить даже не о чем.

Ответить
0

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

Ответить
0

Насчёт производительности - у кого как, кстати. Многие жалуется, но у еще большего количества юзеров проблем нет.

Интеграции не хватает, да. Но работать вполне можно, и даже бесплатно, что немаловажно.

Ответить
0

Когда у меня в проекте 100+ артбордов и это начинаешь фризить и подлагивать, работать становится тяжело, а в XD это все летает.

Ответить
0

Какая конфигурация у компьютера и ОСь?

Ответить
0

Win 10, i5 8400, 10 гб ОЗУ, GeForce 1060

Ответить
1

Поменяй на i7 и 16гб минимум - тогда будет зашибись. 10гб ОЗУ это очень мало для любого граф.пакета, когда речь идёт про интенсивный конвеер графония.

Ответить
1

Ммм, а что ж скетч и XD отлично себя чувствуют? Просто фигме пора нормальное десктопное приложение написать а не вебкит в обвертке

Ответить
0

Я в люстре рисую иконку, например, и потом просто через копировать вставить ее помещаю в фигму, за редким исключением все отлично. Тоже самое для фотошопа, если рисовать шейпами и делать копирование svg

Ответить
0

А psd открыть в фигме?) А в XD хоть скетч хоть фотошоп, все читается без проблем

Ответить
0

Чето не понимаю чё именно рекламируют

Ответить
1

Фигму, что ж еще)

Ответить
0

а то на секундочку подумал, что рекламируют "технологии открытого пространства, в простонародье «open space»"

Ответить
0

Глядишь Фигму продадут, а заодно и услуги прораба

Ответить

Комментарий удален

0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Приложение-плацебо скачали
больше миллиона раз
Подписаться на push-уведомления