«Порізати дизайн — це просто, тут небагато роботи». Я часто чув таку оцінку, але на практиці все залежить від вимог. Одне діло — відтворити просту картинку в одному вікні браузера, зовсім інше — зробити повноцінну сторінку для живого порталу. Ще у 2007 році я виділив чотири основні джерела цієї складності.
Від малюнка до структури сторінки
У графічному редакторі дизайнер може розташувати елемент у довільній точці. Верстальнику потрібно відтворити задум засобами HTML і CSS та узгодити взаємодію блоків. Якщо макет малювали без урахування поведінки вебсторінки, його красиві деталі доводиться перетворювати на систему контейнерів, відступів, фонів і правил. Візуальне накладання кількох об’єктів ще не пояснює, як вони мають поводитися після зміни тексту.
Точність макета — лише частина роботи. Сторінка має поводитися передбачувано, коли змінюється розмір вікна або обсяг тексту. Статична картинка цього не показує: довгий заголовок, інше меню чи новина з великим зображенням можуть вимагати додаткових рішень.
Важлива й швидкість завантаження. У 2007 році я наводив приклад: великий графічний градієнт часто можна було замінити маленьким зображенням із повторенням. Це зменшувало обсяг відповідної графіки. Сьогодні простий градієнт можна створити без окремого растрового файла функцією linear-gradient() у CSS. Завдання залишилося тим самим — відтворити задум без зайвих витрат на завантаження, хоча інструменти змінилися.
Різні браузери та версії
У 2007 році мені доводилося перевіряти сторінки, зокрема, в Internet Explorer, Opera та Firefox. Відмінності відображення між браузерами й версіями змушували витрачати час на налагодження та компроміси.
Отже, готовність макета ще не означала готовності шаблону: потрібна була перевірка фактичної поведінки в середовищах користувачів.
Текст і доступність вмісту для пошуку
Ще одна спокуса того часу — зібрати весь сайт у Flash, де легше було зафіксувати розташування об’єктів. Але керований вигляд не замінює доступного тексту й зрозумілої структури сторінки. Я наполягав, що основний контент потрібно представляти засобами HTML, CSS і JavaScript, а не ховати його всередині графічної композиції.
Для нового сайту питання Flash уже закрите: Adobe припинила підтримку Flash Player 31 грудня 2020 року й заблокувала відтворення Flash-контенту в ньому з 12 січня 2021 року. Практичний висновок ширший за цю технологію: основний текст і навігація повинні залишатися частиною вебсторінки, а не лише зображенням її зовнішнього вигляду.
Інтеграція з CMS
Меню, новини й основний контент порталу формуються динамічно. Тому дизайн потрібно узгодити з правилами шаблонів, компонентами та модулями конкретної CMS, а також із різними станами даних.
Не кожна зміна вмісту потребує програмування. Проте зміна шаблонів або поведінки компонентів може вимагати роботи розробника. Саме цю інтеграцію я вважав однією з найбільших частин проєкту.
Наприклад, дизайнер намалював меню на п’ять коротких пунктів, а CMS отримала дванадцять довгих назв із підменю. Або блок новин має вміщувати і коротке повідомлення без фото, і великий матеріал з ілюстрацією. Це не «поганий контент», а стани, які шаблон має обробляти. Якщо їх не погодити заздалегідь, витрати з’являться вже під час інтеграції.
Під час оцінювання робіт варто описувати не лише вигляд сторінки, а й потрібні стани: довгі й короткі тексти, порожні блоки, меню різної глибини та зміну розміру вікна. Це допомагає зробити очікуваний результат конкретним і перевірюваним.