Доброго времени суток!
Я практически всю свою профессиональную карьеру участвовал в разработке бэков для энтерпрайз систем. Границы бэкенда всегда заканчивались каким-нибудь API.
Все что я знаю о веб-интерфейсах - это HTML и thymeleaf для удобства демонстрации PoC или ручного тестирования.
Но мне очень хотелось бы понять цикл разработки веб-фронтенда, какие основные этапы в каком порядке нужно пройти от идеи до MVP, например:
Идея -> формализация в виде ТЗ (описание функций, наброски как выглядит) -> подготовка дизайн-макета -> реализация логики на каком-то фреймоврке (React и тп) -> соединение дизайна и логики с помощью HTML + CSS ?
Еще хотелось бы понять что является результатом работы дизайнера, верстальщика, фронтенд-разработчика?
1. Дизайнер - утвержденные макеты, подписанные клиентом
2. Верстка и фронтенд-разработка - не имеют документов чаще всего, потому что далее идет бэк, а уже после сдача всего проекта.
Тимофей Федянин, Теория мало чем отличается от теории любой другой разработки продукта. Требования, задачи, решения, в зависимости от методологии разработки - налаживается разный процесс.
Чаще всего пилят исходя из требуемых фич - описывается что нужно, пилится. Описание фичи чаще всего или на словах или wireframe. Иногда бизнес сначала работает с дизайнерами и разработчикам приходит уже красивый макет, но не всегда.
Дизайн может быть до кода, может быть и после. Код обычно пишется сразу с правильной версткой, но бывает что делается примерно нужная структура и потом уже стилизуется когда функционал готов.
Все эти визуальные вопросы обычно хорошо помогает решить готовая библиотека компонентов.
Отдельный верстальщик для приложений не частая роскошь.
Для сайтов - отдельного верстальщик в команде встречается заметно чаще.
В целом, количество вариантов процессов и способов работы настолько разнообразно что единых "теории и подхода" нет. Все зависит от конкретной команды/компании, их привычек, опыта и т.п.
В самом детальном варианте это может выглядеть как-то так:
- Бизнес описывает фичу
- Дизайнер её рисует, показывает бизнесу и правят пока всех не устроит
- в сложных случаях на предыдущем шаге могут участвовать разработчики чтобы не понарисовали фантастику и вообще немного разбавить творческий полет мыслей суровой реальностью (не все что можно придумать - можно сделать и не все из того что можно сделать является оптимальным вариантом)
- задача приходит разработчикам, они ее реализуют попутно взаимодействуя с бизнесом где надо
- Когда функционал готов, верстальщики доводят это до совершенной красоты и соответствия макету
- задача уходит в QA.
- QA говорит что исправить, это правится пока всех не устроит.
- таск выезжает в релиз, бизнес смотрит и либо просит все переделать либо оставляет как есть
В реальности в любом месте какой-то этап может быть пропущен, либо они могут быть перемешаны как угодно.
Я сам всего 2 месяца работаю верстальщиком, но имею базовое представление.
Дизайнер создает макет, чтобы я понимал, как это будет выглядеть и скопировал его на сайт.
Верстальщик получает макет, фактически превращает его в сверстанный сайт.Затем адаптирует и далее передает фронтендеру.
Фронт получает готовую верстку и прописывает скрипты на jsке/фреймворке.
Как бы фронт не тратит свое время на верстку, ею занимается верстальщик.Хотя все это ты сам и описал)
Поправьте, где не прав.
У меня в команде нет четкого деления на бек, фронт и верстку.
ТЗ приходят от бизнеса, извне, и не часто делятся на верстку/фронт/веб, хорошо если есть верстка и внедрение, но часто просто уровня "запилить фичу", а дальше задача последовательно передается спецам разной направленности.
Из должностей есть только менеджер, программист и верстальщик. Но нет чисто бекеров или чисто верстальщиков. Менеджер просто мостик между бизнесом и командой, анализ, уточнение ТЗ и оценку делают сами программисты/верстальщики.
Несколько человек - fullstack, а остальные - кто-то сильнее в беке, кто-то во фронте.
Хотя этого от них и не требуют, но все верстальщики отвечают не только за верстку, но и за фронт, а пара человек также может немного в бек, на уровне внедрить верстку в php-шаблон.
Все программисты отвечают за бек, фронт от них не требуют, а тем более верстку, но многие неплохо знают js, а пара человек фуллстеки, и сами верстают.
Человек целиком и полностью отвечает за задачу. Сколько он может - столько делает сам, что не может - передает тому, кто может.
На задачу дается неделю, потом задача уходит к тестерам либо переносится на следующий релиз. Тесты длятся неделю, в это же время идет шлифовка и допиливание фичи.