Шаблонизаторы дают возможность сэкономить до 25% бюджета и существенно ускорить сроки при разработке цифрового продукта. Это в теории. В реальности все сложнее и приходится учитывать ряд нюансов. Когда и при каких обстоятельствах целесообразно использовать шаблонизаторы рассказал Евгений Некрасов - руководитель отдела веб разработки RDN Group. RDN Group – компания-разработчик цифровых решений: высоконагруженных сайтов, порталов, мобильных приложений.
Это программный инструмент, который позволяет проще и быстрее писать разметку на основе шаблонов. Если привести понятную аналогию, то данные - это тесто, шаблон - форма для выпекания, а шаблонизатор - духовка.
Шаблонизаторы избавляют разработчика от необходимости снова и снова писать повторяющиеся фрагменты кода для сходных по логике и функционалу страниц сайта или сервиса.
К примеру, стоит задача сделать корпоративный сайт из нескольких страниц. Вероятно, каждая страница будет содержать в себе три основных блока - шапка, тело и подвал. Под каждый из блоков можно завести шаблон. Это позволит разработчику не тратить лишнее время, на то, чтобы чтобы писать повторяющийся код разметки шапки и подвала для каждой отдельной страницы сайта. Таким же способом можно унифицировать шаблоны для других типовых элементов сайта: форм, списков, кнопок и т.д.
Разумеется, для опытного программиста нет ничего сложного, чтобы писать отдельные типовые куски кода по несколько раз за проект, но на долгой дистанции потраченные на рутинные процессы минуты складываются в часы, и все это приводит к удорожанию стоимости проекта.
Важно:
К сожалению, работа с шаблонизаторами требует высокой квалификации от проектной группы. Не все фронтэнд-разработчики и дизайнеры знакомы с атомарным дизайном и компонентным подходом. А это значит, повышается общий порог вхождения.
Вторая проблема - необходимы дополнительные согласования с заказчиком. Кроме того, шаблонизаторы накладывают определенные ограничения в требованиях для оптимизации и корректной реализации сайта. Если вам нужен сайт с нетипичной структурой, которая не содержит повторяемых блоков, использовать шаблонизаторы нерационально.
Обратимся к примеру из опыта нашей компании.
Была задача доработать онлайн площадку для аукционов. Мы создали первичную версию сайта, но после тестов и получения обратной связи от заказчика, потребовалось внести ряд корректировок по визуальной части.
Благодаря использованию шаблонизатора Twig весь процесс разработки удалось сократить на 30-40%.
Важно:
У frontend-команды, которая занималась проектом, был опыт работы с шаблонизаторами, а также готовая обкатанная дизайн-система.
Получить максимум от шаблонизаторов можно только в том случае, когда у команды разработчика есть понимание, собственные наработки и обширная тиражируемая база “исходников”. А это приходит только с опытом.
Еще один пример из нашего опыта. Стояла задача сделать сайт с нуля. Но, проанализировав требования заказчика, мы поняли, что у нас есть подходящий готовый визуал из предыдущих наработок. Остается только разработать бэкэнд и интегрировать его с готовой визуальной частью. При таких исходных данных шаблонизатор дает буст в 90% к скорости проекта в части реализации и интеграции интерфейсов! Скорость реализации проекта в целом может вырасти на 20-25%. Не забудьте также про значительную экономию ресурсов для заказчика.
Можно ли применять один код шаблона на разных проектах?
Можно, однако есть нюансы. Использовать один и тот же код в шаблонизаторе на разных проектах возможно, но требуется его адаптация.
Например, код шаблона в Twig состоит из различных элементов, таких как переменные, условные операторы и циклы, которые могут быть адаптированы для конкретного проекта. При использовании одного и того же кода на разных проектах важно убедиться, что код соответствует требованиям каждого проекта и не создает конфликтов с другими компонентами.
Кроме того, в Twig можно создавать собственные пользовательские фильтры и функции, которые могут быть использованы на всех проектах. Это полезно, если у вас есть несколько проектов с общим функционалом, который можно вынести в отдельный файл шаблона и повторно использовать на всех проектах.
Шаблонизатор - это не волшебная таблетка для ускорения разработки цифровых продуктов. Чтобы понять, целесообразно ли использовать шаблонизаторы, нужно сопоставить требования к проекту и текущие ресурсы команды.
Нецелесообразно использовать шаблонизаторы при создании совсем простых страниц - лендингов, лид-магнитов, сайтов презентаций и одностраничников.
Вряд ли имеет смысл использовать шаблонизаторы, если структура сайта не содержит повторяемых блоков.
Если же заказчику нужно сложное, но относительно типовое решение, например, интернет-магазин, то применение шаблонизатора может уменьшить трудозатраты, а значит сохранить бюджет. При этом сайт будет ещё удобнее в плане дальнейшего развития и поддержки.
Ускорить разработку при помощи шаблонизаторов станет значительно проще, если у заказчика или исполнителя уже есть готовая дизайн-система и база собственных наработок по части визуала.