{"id":14276,"url":"\/distributions\/14276\/click?bit=1&hash=721b78297d313f451e61a17537482715c74771bae8c8ce438ed30c5ac3bb4196","title":"\u0418\u043d\u0432\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043b\u044e\u0431\u043e\u0439 \u0442\u043e\u0432\u0430\u0440 \u0438\u043b\u0438 \u0443\u0441\u043b\u0443\u0433\u0443 \u0431\u0435\u0437 \u0431\u0438\u0440\u0436\u0438","buttonText":"","imageUuid":""}

Шесть советов для выживания в Figma

Мы с командой пересели на Figma полтора года назад. Переезд дался легко, привыкли быстро. Но вот потом набили несколько неприятных шишек. И я решила поделиться опытом.

1. Не меняйте текст в компоненте из библиотеки

Мы собрали около 100 документов, внутри каждого от 20 до 100 фреймов. Все эти скриншоты были с кнопками, инпутами, чекбоксами и другими компонентами.

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

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

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

2. Дробите библиотеки компонентов

У нас в проекте есть несколько библиотек. Казалось бы, можно все слить в один файл и разместить на нескольких страницах внутри документа. Но как показывает практика, чем меньше объектов в библиотеке, тем проще искать нужный. Да и вес файла меньше, а значит, он открывается быстрее.

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

3. Страницы и попапы тоже могут быть компонентами

Загоняйте в символы стандартные паттерны страниц, не только меню, но и, например, попапы или empty state. Зачем? Во-первых, ваши разработчики скажут вам спасибо за стандартизацию. Например, у нас в системе есть три вида попапов в трёх размерах (стандартный, alert, success). Всего получается девять шаблонов. Во-вторых, вы не будете тратить время на позиционирование элементов. А в-третьих, вы упростите жизнь тем коллегам, которые Figma в руках держат впервые, а собрать что-то нужно. Наши продакты одобрили.

4. Дробите прототипы

Как-то нам нужно было протестировать новый способ распределения задач на фрилансеров клиентом. Там было очень большое дерево вариантов экранов. Около 60 скриншотов. Мы хотели сделать тестирование правдоподобным и просчитать всё. Это творчество привело к тому, что мы сами запутались в связях и в составе этих скриншотов. На распутывание этого клубка ушло целых двое суток.

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

Не делайте прототипы раздутыми. Лучше разбейте на несколько сценариев и тестируйте более короткими отрезками. Для каких-то ветвей достаточно увидеть, что респондент попытался взаимодействовать с объектом.

5. Рисуйте отступы для компонент

В Figma есть очень удобная фишка с позиционированием объектов. И она хорошо работает, если вы точно знаете, как хотите изменить размер элемента и на сколько разъедется символ. Но что, если вам нужно сделать отступы по 8 px для кнопок с длиной, зависимой от текста?

Мне помогают бордеры: обычные полупрозрачные прямоугольники. Им можно задать правильный размер и поведение. Когда я делаю видимой группу с такими прямоугольниками, могу быстро подогнать размер символа относительно текста или другого содержимого. Они выглядят как padding и margin.

6. Загоняйте ячейки таблиц в компоненты

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

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

0
71 комментарий
Написать комментарий...
Ilya Kukushkin

По пятому пункту. Не обязательно рисовать прямоугольники бордерами. Достаточно задать текстовому полю Constraints по правому и одновременно левому краю. Учитывая, что ваша кнопка - это фрейм. Теперь при ресайзе символы которые не влезли будут скрываться, это поможет вам настроить правильную ширину кнопки и оставить нужные отступы (менять ширину или высоту объекта можно кнопками CMD+стрелки)

Ответить
Развернуть ветку
Olga Toporkova
Автор

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

Ответить
Развернуть ветку
Ilya Kukushkin

А в каких ситуациях вы это используете? Когда нужно длиннее сделать

Ответить
Развернуть ветку
Olga Toporkova
Автор

Например, у меня написано SAMPLE. Компонента сверстана так, что под ней есть фон = длинна текста + отступы. Текст спозиционирован так, одним из описанных вами способов.
Я меняю текст на DOWNLOAD. Длинна текста чуть больше. Значит либо расширится текстовое поле, если он центрирован и отступы до краев будут меньше. Либо левый край будет стоять как нужно, а правый торчать за пределы фона. Дальше я включаю группу с моими прямоугольниками и смотрю на сколько мне нужно растянуть символ что бы слева и справа были одинаковые отступы.
Примерно так же я работаю с таблицами: вижу, когда стоит сделать перенос, если по каким-то причинам не могу загнать текст в ограничения по ширине (так бывает, тк в таблицах колонки разной ширины, а компонент универсальный) или, например у меня этими бордерами размечены компоненты с шаблонами страниц и диалогов. В общем, много примеров. Надеюсь, ответила на вопрос)

Ответить
Развернуть ветку
Ilya Kukushkin

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

Ответить
Развернуть ветку
Oksana Vedmich

ребят, объясните, плиз, каким образом у вас в компоненте сетка работает как паддинг? если текст внутри блока больше исходного и я растягиваю кнопку - отступы тоже больше становятся. то ли лыжи не едут, то ли я.... :)

Ответить
Развернуть ветку
Ilya Kukushkin

Сетка не сможет работать как паддинг, они используют ее чтобы визуально видеть. А для того чтобы отступы не растягивались, вам нужно задать в параметрах Constrains (в левой панели) привязку слева и справа (Left&Right в первой выпадайке, можете также нажать на правую палочку и с зажатым Shift на левую) 

Ответить
Развернуть ветку
68 комментариев
Раскрывать всегда