Время от времени некоторые мои коллеги-дизайнеры интересуются каким образом необходимо подготавливать макеты для передачи разработчикам. Я подготовил гайд, которы поможет им разобраться в этом вопросе.
В глобальном плане макеты не требуют какой-то особой подготовки если изначально они выполнены аккуратно и в удобном для работы приложении.
По состоянию на сегодняшний день, наиболее популярными приложениями для разработки дизайна интерфейсов является Figma. Этот редактор может работать на любой платформе и запускается через браузер практически на любом железе. Редактор дает возможность получать доступ к макету всем участникам команды в режиме онлайн, все изменения в проекте происходят в реальном времени, их сразу же видят все члены команды. Для передачи файлов Фигмы коллегам достаточно скопировать и переслать ссылку на макет хранящийся в облаке.
Таким образом, я рекомендую использовать для работы приложения хранящие макеты в облаке и поддерживающие возможность кооперативного редактирования макетов в реальном времени. Figma будет отличным выбором.
![Для работы в редакторе достаточно создать аккаунт на сайте Фигмы. После регистрации редактор откроется прямо в браузере. Также, для большего удобства можно скачать на сайте десктопную версию приложения. Для работы в редакторе достаточно создать аккаунт на сайте Фигмы. После регистрации редактор откроется прямо в браузере. Также, для большего удобства можно скачать на сайте десктопную версию приложения.](https://habrastorage.org/getpro/habr/upload_files/b7d/2a8/7aa/b7d2a87aa30c42e24f62468929127673.png)
Мы обсудили как быть с приложениями для разработки дизайна интерфейсов, теперь можно обсудить правила которых стоит придерживаться при подготовке макетов.
1. Используйте базовую единицу и модульные системы для построения макетов
При построении системы отступов и сеток в макете стоит выбрать значение которому будут кратны настройки сеток и отступов. Если в качестве базовой единицы выбрать значение равное четырем — все отступы и размеры объектов в макете должны делиться без остатка на это значение. Отступы могут быть представлены значениями 4, 8, 12, 16 и т.д., а высота кнопок, к примеру, значениями 32, 40, 44, 48, 52 и т.д.
![](https://habrastorage.org/getpro/habr/upload_files/f92/2d7/625/f922d7625feecb4895d59d12b58524ad.png)
![Значения отступов и размеров элементов кратны четырем. Отступ между колонками сетки кратен четырем. Значения отступов и размеров элементов кратны четырем. Отступ между колонками сетки кратен четырем.](https://habrastorage.org/getpro/habr/upload_files/519/1c0/557/5191c05570b42efd9bae638e7e4d33bc.png)
При построении сеток учитывайте, что бывает как минимум три типа устройств десктоп, планшет и мобилка. При построении сетки отталкивайтесь от минимальных размеров экранов, чтобы все помещалось. Например, для мобилки стоит отталкиваться от экрана 320рх, планшет — 768рх, десктоп — 1024рх. Макет может рисоваться под любой размер экрана, главное чтобы на указанных разрешениях он выглядел также корректно, как и на более крупных.
2. Используйте целые значения размеров элементов и отступов
Благодаря целым значениям макет будет аккуратнее, его рендер на экране также будет более качественным. При условной отрисовке обводки в 1,5px будет возникать размытие этой обводки на экранах с низкой плотностью точек. В случае с разношёрстными отступами да ещё и с дробными значениями разработчикам придется гадать какой отступ должен быть между однотипными элементами 32.7, 32.6 или все же 32px.
![](https://habrastorage.org/getpro/habr/upload_files/a0d/970/60d/a0d97060ddbebc31eec96202bd0bd9b4.png)
![На скриншотах одинаковые целые отступы. На скриншотах одинаковые целые отступы.](https://habrastorage.org/getpro/habr/upload_files/707/fac/acf/707facacf57b9efdbb25be468df0f266.png)
Для работы с целыми пикселями необходимо включить функцию Snap to Pixel Grid в меню Preferences.
![](https://habrastorage.org/getpro/habr/upload_files/3c2/45f/5e9/3c245f5e9e3e208ebe5328982e53578d.png)
Чтобы быстро избавиться от дробных значений в размерах, можно нажать на подпись слева от значений.
![Стрелки указывают на символы «W» и «H». Стрелки указывают на символы «W» и «H».](https://habrastorage.org/getpro/habr/upload_files/d5a/f0b/b3c/d5af0bb3c03908814b207bbb4fcadef8.png)
Также для пакетного устранения дробных значений отлично подходит плагин Pixel Perfect.
![](https://habrastorage.org/getpro/habr/upload_files/e21/0eb/bc7/e210ebbc79dd00f868bdf40e175da206.png)
Запустить плагин можно через панель плагинов.
![](https://habrastorage.org/getpro/habr/upload_files/e1e/a80/516/e1ea80516fb0cefc7e8d4d8b79d9b2e6.png)
После чего нужно нажать кнопку «Run» и плагин, как по щучьему велению, уберет все дробные значения в выбранных фреймах.
![На скриншоте дробные значения устранены, однако стоит учесть, что плагин округляет дробные значения по правилам арифметики — значение до 0,5 в меньшую сторону, значения после 0,5 в большую. На скриншоте дробные значения устранены, однако стоит учесть, что плагин округляет дробные значения по правилам арифметики — значение до 0,5 в меньшую сторону, значения после 0,5 в большую.](https://habrastorage.org/getpro/habr/upload_files/b15/223/f27/b15223f27fb6eb9218f83b71c6b55d76.png)
3. Выстраивайте логичную систему отступов
В одинаковых элементах стоит использовать одинаковые отступы, между логическими блоками стоит использовать одинаковые отступы — так проще верстать макеты.
![](https://habrastorage.org/getpro/habr/upload_files/024/a91/1dd/024a911dd9ab943e9e5a90655e60b1d9.png)
![Между единообразными блоками одинаковые отступы. Между единообразными блоками одинаковые отступы.](https://habrastorage.org/getpro/habr/upload_files/56c/ff8/e92/56cff8e927a70f673ce78e58e0ad412a.png)
Для ускорения процесса расстановки одинаковых отступов можно воспользоваться опцией Фигмы — Auto layout. Эта опция группирует объекты в фрейм с равномерными отступами.
Для создания Auto layout необходимо выбрать фреймы, между которыми будут расставляться отступы, после чего следует нажать на клавиатуре комбинацию клавиш «Shift+A» либо нажать соответствующую кнопку на панели настроек.
![Необходимая кнопка показана на скрине. Необходимая кнопка показана на скрине.](https://habrastorage.org/getpro/habr/upload_files/bdb/84c/91d/bdb84c91dca68a1abe397b40e72efc43.png)
После созданий лейаута можно будет настроить размер отступов введя необходимое значение в соответствующее поле.
![На скрине обозначено поле для ввода размера отступов. На скрине обозначено поле для ввода размера отступов.](https://habrastorage.org/getpro/habr/upload_files/3b8/0b7/23f/3b80b723fed5ed26669f34891727011f.png)
Подробнее о том как работать с Авто лейаутами можно прочитать в официальном руководстве Фигмы.
4. Сохраняйте настройки текста, цвета и эффектов в стили
Сохранение настроек в стили позволяет организоваться порядок в стилях, выстроить понятную структуру, исключить возникновение в макете ошибок и новых переменных, упростить разработку.
![Сохраненные стили добавляются в панель стилей, она находится в правой части окна Фигмы. Сохраненные стили добавляются в панель стилей, она находится в правой части окна Фигмы.](https://habrastorage.org/getpro/habr/upload_files/5d4/239/78c/5d423978cf956b314fbc63e9e011ef6e.png)
Подробнее о том, как сохранять стили описано в мануале Фигмы.
5. Подписывайте слои и стили понятными именами
Для организации порядка в макетах подписывайте понятными названиями слои и стили в макетах. Это позволит говорить всем членам команды на одном языке. Также хорошей практикой является расположение стилей и слоев в логичной последовательности.
![Пример подписей слоев и стилей. Пример подписей слоев и стилей.](https://habrastorage.org/getpro/habr/upload_files/e39/47d/a66/e3947da66288669781fb4c849cce67bc.png)
Слои (фреймы, компоненты) принято располагать в хронологической последовательности, стили текста от более крупного к менее крупному, цвета от менее насыщенных к более насыщенным.
В качестве примера построения иерархии текста можно использовать руководство Материал по работе с типографикой, построение иерархии цвета также хорошо описано в руководстве Материал по работе с цветом.
6. Создавайте Ui-kit
Создавайте наборы элементов интерфейса с возможными состояниями таких элементов. Очень рекомендую все элементы преобразовывать в компоненты, это позволит в будущем их переиспользовать, что снизит количество ошибок и увеличит скорость разработки макетов.
![](https://habrastorage.org/getpro/habr/upload_files/f93/f32/9ae/f93f329ae948bb231899676859aa98c7.png)
Как работать с компонентами просто и понятно проиллюстрировано в туториале Фигмы.
7. Задавайте корректные размеры текстовых фреймов
Показывайте в макетах реальный размер текстового фрейма, описывайте его поведение если заголовок не помещается по длине. Заголовок может уйти в эллипсы (в конце строки будет показано троеточие) или заголовок может перенестись на другую строку.
![](https://habrastorage.org/getpro/habr/upload_files/ef3/fb2/b22/ef3fb2b22d338ace687663c6ea98416d.png)
![На скринах показано, что заголовки имеют разную длину. На скринах показано, что заголовки имеют разную длину.](https://habrastorage.org/getpro/habr/upload_files/3b4/b43/71b/3b4b4371bceeb33173b23dd294a6a353.png)
8. Оставляйте комментарии
Комментируйте свои решения с использованием инструмента Add comment, вызывается кнопкой «С», либо через настройки компонента. Комментирование компонента доступно на панели настроек (находится справа).
![](https://habrastorage.org/getpro/habr/upload_files/278/23b/7e3/27823b7e38ec7268ba5f014de7698caf.png)
![Примеры способов комментирования. Примеры способов комментирования.](https://habrastorage.org/getpro/habr/upload_files/371/cc4/e93/371cc4e93f63d86fe1ae25e616de8d83.png)
Если комментарий к компоненту добавить через правую панель — комментарий будет отображаться в инспекторе кода, в любой части макета.
![Комментарий отображается на одной из страниц макета. Комментарий отображается на одной из страниц макета.](https://habrastorage.org/getpro/habr/upload_files/f95/1fd/144/f951fd144896d4ceed409eefc6814274.png)
9. Показывайте анимацию с помощью прототипов
Придумывая анимацию создавайте фреймы с раскадровкой, после анимируйте их с помощью инструмента Prototype. Проще один раз наглядно показать вашу задумку, чем десять раз объяснять и вносить корректировки в ходе разработки.
![](https://habrastorage.org/getpro/habr/upload_files/02c/1a7/3c1/02c1a73c1fef75cfc90ba8849d3b19f1.png)
10. Передавайте разработчикам шрифты и иконки
Передайте разработчику ссылку на источник шрифта, выгрузите иконки и иллюстрации в SVG. Это ускорит процесс разработки и снизит количество дополнительных вопросов.
11. Проводите презентации и обсуждайте решения
Перед передачей решения на согласование с ЛПР стоит обсудить возможность его реализации с разработчиками. Наглядная демонстрация решения может упростить работу всем. Презентации можно оформлять в виде слайдов с комментариями, в формате звонков по видеосвязи, скринкастов, с помощью интерактивных прототипов с комментариями.
Если среди читателей присутствуют разработчики — буду благодарен за комментарии и дополнения к этому гайду.)