Должен ли верстальщик заниматься созданием (разработкой) шаблонов страниц?
Есть многостраничный сайт (точнее 2, но об этом ниже), и есть классическая цепочка разработки: дизайнер -> верстальщик -> программист. На страницах сайта много одинаковых элементов: шапка, подвал, всякие боковые панели и формы. Кроме того, есть локализация на 3 языка.
В идеальном мире дизайнер нарисовал макет, верстальщик накопипастил html-страниц (и сохранил в git, для порядку), программист нарезал из html шаблоны и накодил на node.js. Один раз мы пошли по этому пути, но идеальный мир рухнул, как только дизайнер выкатил 1-ю порцию улучшений.
Так как исправлять все 100500 html-страниц в гите нет никакой возможности, верстка исправляется в произвольной странице, а программисту говорится "смотри сюда". Программист изучает diff и повторяет изменения верстки в шаблоне (получается двойная работа). В результате в гите лежит абсолютно неактуальная верстка, изменения в переводе можно посмотреть только на компе программиста, а при внесении новых дизайнерских фич все чаще случаются казусы.
Дабы не наступать 2-й раз на те же грабли, при разработке нового сайта я решил переложить разработку шаблонов страниц полностью на верстальщика, а именно:
1) вычленить из верстки повторяющиеся элементы с целью их переиспользования,
2) удалить элементы "для посмотреть" и прочий lorem ipsum (точнее, вынести их в отдельные файлы и вставлять в верстку опционально, средствами gulp), и вообще подготовить шаблон для использования клиентским кодом,
3) и даже заменить весь текст на переменные для локализации (а переменные просто сохранить в json).
1-е требование "вынеси шапку и подвал в отдельный файл" встретило у верстальщика понимание. На 2-е был ответ: "обычно так не делают, но так и быть". А на 3-е - "ну уж это точно работа программиста!"
Так-как я далеко не гуру в деле сайто-строительства, у меня возникли сомнения - не перегнул ли я палку? Где должна заканчиваться работа верстальщика и начинаться работа программиста?
Научите своего верстальщика использовать системы сборки и шаблонизаторы, если он еще не умеет (что в 2016 году как минимум неприлично, как максимум, попахивает непрофессионализмом). В идеале используйте один шаблонизатор для верстки и в бекенде. Например, для Twig существует множество реализаций на разных языках, в т.ч. на javascript (у вас nodejs, как я понял), и пакет для gulp имеется. Или же jade.
Для использования переменных в верстке есть пакет gulp-data.
При правильной организации системы сборки вы получите от верстальщика практически готовые шаблоны для вашего бекэнда плюс всегда актуальную верстку в репе.
и вообще подготовить шаблон для использования клиентским кодом,
smith922: клиентский код - довольно обширное понятие. Если вам нужны javascript-приложения на сайте заказчика, вроде чатов и всего прочего, где нужен ускоренный обмен данными между базой и группой десктопов - вам нужно отдавать подобные обязанности программисту фронт-энд.
Верстальщик должен делать вёрстку всех страниц сайта. Не более чем. Конечно, я согласен с тем, что в 2016м приличный верстальщик должен уметь писать html, css на препроцессорах. В идеале, чтоб верстальщику ещё и gulp не пришлось зубрить - расскажите (заодно узнаете тоже) что такое скаффолдер yeoman и генератор yeogurt. Это отличный базис для начала проекта. Это платформа для инициализации проекта. Она основывается на установке шаблонизатора (в консоли по ходу инициализации есть выбор между ними - я предпочитаю jade), препроцессора для css (sass, или stylus - если долго не спал). Ну и конечно же, поскольку эти технологии держатся на gulp - можно накрутить своего, к примеру bower с jquery и bootstrap или coffeescript - для js.
Если же особо сложных фень нет - к примеру нужен лэндинг - можно обойтись стандартным webapp.
Креплю ссылку. https://habrahabr.ru/post/246349/ - о том что такое
И где это взять yeoman.io
ПС - верстальщику лучше сразу начать использовать linux, инчае nodeJS без unix-овости системы будет чудить довольно геморройные казусы, ибо требует некоторые зависимости, которых нет на windows, типа gcc.
Я бы верстальщика заменил на фронтенд разработчика. Бекенд разработчика избавил бы вообще от работы с шаблонами. Они оба программисты и могут друг друга вполне понимать. От бекендера нужен API. От фронтендера трансляция этого API в удобный веб интерфейс для пользователя. Верстальщик больше подходит для верстки бумажных материалов, где-нибудь в типографии или для создания статичных веб страниц. Когда сайт динамический, то верстальщик только ломает весь процесс.
нет, на самом деле нужно веб-дизайнера заменять на веб-верстальщика. И команда должна состоять только из тех ребят, которые кодят. то есть - веб-верстальщик, фронт-эндер и вэк-эндер.
Объясню почему. Дизайнеры любят накидать в свой макет шрифтов, которые, к примеру есть только в трутайпе. или понабрасывать элементов, которые только нагружают вёрстку и не вносят никакой продуктивности. Это трата времени на исправление косяков - на резку псд-макета.
В случае когда верстальщик хватается за дизайн - он применяет исключительно веб-технологии - сразу способен сделать удобный UI, сразу сделать отзывчивую адаптацию, сразу применить тот стэк, который будет использован фронт-эндером.
Фронт-эндер должен шарить в логике. Его работа никак не зависит от верстальщика. Он хватает ТЗ и обдумывает по итогу где должен быть применён AJAX в html-макете верстальщика, nodeJS, асинхронность, вычисления калькулятора и всё тому святое. Если ему что-то не нравится или не подходит - он просит верстальщика что-то переделать, это делается в 5 минут. В отличие от случа с дизайнером, когда перевёрстка с psd занимает кучу времени
Бэк-эндер - это вообще такой человек, который либо во всех цмс-ках шарит и умеет посадить любую отрыжку фронт-энда на готовый, либо свой разработанный движок. Также он составляет верстальщику задание - из чего и с чем должна быть адмика бэк-энда - в случае с применением кастомно-разработанного движка.
Вы, ребят, такой бред несёте. Как будто даже представления не имеете чем занимается верстальщик. Он нужен - и нужен он как альтернатива гемору с PSD-посредничеством. Когда требуется с растрового макета переносить весь интерфейс, пропорциональность, внешние ресурсы - в веб-формат. Когда можно взять ТЗ и сразу начать разрабатывать в веб-формате.
Никита Кит: любой фронтендер умеет верстать. Ему не нужно просить верстальщика, что-то переделать, он сам все сделает за 1 минуту, не тратя время на обмен информацией с лишним звеном и поиск этого лишнего звена, которое где-нибудь в отпуске или еще так или иначе отсутствует на рабочем месте.
Бэкендер не должен уметь садить любые отрыжки фронтенда. Он даже html/css/js не обязан знать. Он должен бизнес-логику писать, вникая в бизнес процессы той области для которой пишет ПО, думать об алгоритмах, всяких сложных вещах типа многопоточности и выкатывать документацию к написаному api.
Человек, который шарит во всех цмсках и может натянуть на них шаблон - это не бекендер. Вообще. Никак. Совсем. Это что-то вроде веб-мастера, который "везде по чуть-чуть и толком нигде".
Никита Кит: а кто в вашем случае должен рисовать дизайн? продумывать элементы, фишки, шрифты, фоны и т.п.? Дизайнер и должен дизайнить, а фронт уже переводить это дело в макет (шаблон), т.е. верстать со всеми вытекающими, что толку что он будет только js делать, на одном js далеко не уедешь, а простой html+css не сделает те же табы, слайдер и т.п.
Владислав Старцев: вот этим верстальщик и занимается. ну а то что на css не сделать табы и слайдеры - твоё глубокое заблуждение. Вот кстати, с предыдущим комментов qweqwa я соглсен. Фронт-эндеры - не имеют отношения к вёрстке - это создатели javascript-приложений. nodejs express angular - не слышал о таких фишечках?
xfg: ты знаешь PHP? видимо нет. вот тебе факт - без знаний html PHP не изучить. Хоть ты сто раз тресни! Без html, без знаний дома ни js, ни php познать не получится. Поэтому пыхер должен уметь взять готовую вёрстку и посадить на свою платформу, нарезав на шаблоны html разметку, заменив рыбу частями php-кода со ссылками на данные из базы. Это называется "препродакшен", детка.
А что же касается фронт-энд разработчика - повторюсь снова, как и всем ранее. js-приложения и веб-сайты - две разные вещи. В веб-сайтах могут быть встроены js-плюшки, например - чат. Это самый распространённый пример. А если говорить о стэке технологий фронт-энда. Это javascript - для общего познания, знание nodeJS + usage skills разного рода библиотек вроде Angular, Express, BackBone, Require, React, Meteor и прочий реактив и асинхронность. Что-же касается вёрстки страниц сайта - фронт-эндеру не до этого. Он учитывает, какие приложения нужно сделать на сайте и разворачивает свой стэк. Плевать он хотел на вёрстку и всё что с ней связано.
Никита Кит: >>нет, на самом деле нужно веб-дизайнера заменять на веб-верстальщика.
Мне кажется творческого человека сложнее научить техспециальности, чем технарю освоить смежную область деятельности. Так что пусть рисует и творит.
Вообще мне кажется немного некорректно так ставить вопрос, это же не советское гос.учреждение где не дай бог случайно выполнить чужую работу или переработать на полчаса лишних.
Если верстальщик в адеквате, то ему наверное должно быть даже интересно развиваться и расширить свою ответственность, тем более его ж заставляют не базы данных оптимизировать, а просто немного покопаться в шаблонах.
Но тут палка о двух концах, работодатель тоже должен быть готов к тому что верстальщик попросит больше денег за большую работу, а то и вообще через пару месяца попрощается и уйдет писать ангуляры, потому что тупо верстка его больше не интересует ;)
А то, как уже написали выше, российские работодатели любят это, "чото сисадмин много получает и мало работает, а давайте он у нас еще будет пол мыть".
Резюмируя, для меня это "должен-не должен" попахивает гнилой бюрократией какой-то. Есть конкретные работник и работодатель, вопрос я бы скорее ставил так - будешь ли ты этим заниматься за вот такие деньги. Если ответ "нет", то либо смиритесь с существующим порядком, либо ищите другого специалиста.
Вообще мне кажется немного некорректно так ставить вопрос, это же не советское гос.учреждение где не дай бог случайно выполнить чужую работу или переработать на полчаса лишних.
Ты помнишь как работали предприятия в Советском Союзе и занимаешься веб-разработкой?
Если ты в зрелом возрасте (чтобы мог адекватно оценить стиль работы на советском предприятии) работал в СССР, то тебе же 60 лет должно быть, не меньше.
Я застал советский стиль работы.
Зависит от предприятия. Где-то перерабатывали мама не горюй - не хуже чем сейчас.
Также я имею опыт работы с древне-капиталистическими странами. Во многих странах Европы даже магазины продуктовые в выходные не работают.
И встать ровно в пять часов вечера и пойти домой - это норма в Европе и никто тебя не осудит и не потребует переработки. Так как переработка оплачивается по зверским тарифам и работодателю это не выгодно.
Что значит - должен? У нас не рабство.
Это работа. Хочешь делай. Хочешь - иди прочь.
Граница между версткой и программированием в шаблонах, действительно, очень тонкая.
Проще поговорить с верстальщиком и программистом - кто за что возьмется.
P.S.:
Дайте я угадаю: вы работаете в самом дешевом сегменте. Там где полно людей, которые мало что умеют.
При работе с нормальным квалифицированным фуллстекером (средний ценовой сегмент) или нормальным фронтендером (высокий ценовой сегмент) - такого вопроса даже и не случиться - буду, не буду, умею, не умею.
Я согласна с многими комментариями, что верстальщик - это просто верстальщик, но... Задачи, которые вы ставите - очень простые, показать верстальщику как это работает - и все! Пару-тройку раз ответить на вопросы, если не разобрался с первого раза. Я, как "верстальщик" это начала сама уже понимать, я использую zurb foundation, а к нему в довесок сейчас идет panini (шаблонизатор) - это же просто рай, насколько же это облегчает работу именно верстальщика! Не нужно копипастить эти ненавистные header footer по сто раз, не нужно забивать каждый раз кучу данных, которые загрязняют страницу и мешают разглядеть структуру, их можно просто вынести в отдельный файл и накидать циклов да условий. Этим облегчить работу И себе, И программистам. И ДА, верстальщик должен знать про циклы, условия и переменные - они все есть в scss, если он их не использует, верстая "100500 html-страниц", то он плохой верстальщик.
нет, ты знаешь, jade знать это гуд. И в json тогда уж и данные пастнуть несложно. Но вот тебе не кажется, что конкретно в данной ситуации возникает вопрос а с какого дизайнер вообще менял макет, когда верстальщик принялся его кодить?
Владимир Грабко: шаблоны очень жестко увязаны с программным решением. если сайт кастомизируется программистом, то верстальщику знания языка шаблона недостаточно.
Никита Кит: "с какого дизайнер вообще менял макет" - главный начальник-заказчик проснулся в 3 часа ночи и захотел, чтобы на сайте был розовый слон, например) Вы такие вопросы задаете, как будто 1-й день в этом бизнесе.
smith922: когда дизайн утверждён, он может навыдумывать чего угодно - подобные переделки делаются за деньги, ибо тратят время на переработку уже выполненного.
qweqwa: Я видел как то раз архитектуру где вся голига с шаблона вынесена в отдельную прослойку а в шаблонах тупо хтмл и вставка переменных. Вот так как то.