Евгения Сафонова

Кто первый? Code first и Design first подходы в разработке сайтов

Мы часто слышим про mobile first, но вопрос «кто главнее» не ограничивается типом устройства. Поговорим о двух подходах к разработке сайта, когда главный программист или дизайнер.

Кто первый? Code first и Design first подходы в разработке сайтов

Когда главный программист, это называется Code first — сначала код, потом все остальное. Это удобно в проектах, где важнее логика и функция, чем интерфейс и эстетика. Работоспособный сайт при таком подходе собирается быстро (про красоту думать не надо), но пользоваться им не всегда приятно. Т.е. например, результаты поиска будут выводиться сплошным плохо читаемым текстом. Но так вы убеждаетесь, что ваша задумка реализуема, и можно начинать думать, как выводить результат для пользователя.

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

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

Т.е. можно сказать, что Design first — это движение снаружи внутрь, а Code first — изнутри наружу.

Что выбрать?

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

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

Именно поэтому в разработке так важна слаженная работа команды и коммуникация. Каждый проект — это компромисс между быстро, дорого и красиво.

А как у нас?

В своей работе мы чаще всего используем подход Design first, т.е. сначала создаем прототип (прорабатываем интерфейс), потом дизайн-макеты (наводим красоту), а потом это оживляем (программируем).

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