На сьогоднішній день існує величезна кількість систем управління сайтом (CMS), і веб-студії, намагаючись запропонувати замовнику максимально можливий вибір послуг, ведуть розробки проектів на будь-якій платформі, яку вибере клієнт. Але чи є це насправді перевагою і як позначається на якості розробки?
Перш за все слід сказати, що в цій статті мова піде не про відмінності CMS, а про загальні відомості розробки проектів.
Будь-який проект ділиться на дві частини: дизайн і програмна частина. З одного боку, всі сайти, незалежно від вибору CMS, пишуться на одних і тих же мовах програмування.
Найголовніша річ при розробці програм - чітко уявляти кінцеву мету.
Бйорн Страуструп Виходячи з цього, замовнику може здатися, що програміст зможе розробити сайт на будь-якій платформі. Це безперечно так. Але кожна система відрізняється своїм набором функцій і готових рішень. Тому вся команда повинна постійно поповнювати свої знання про особливості роботи тієї чи іншої CMS - читати документацію і проходити сертифікацію, що дозволить розуміти основи і вирішувати завдання найкращим способом. Чим більше систем намагається освоїти програміст, тим нижче якість розробки, тому що він буде приділяти недостатньо часу для вирішення що стоїть перед ним завдання і вважатиме, що найкращим виходом буде написати «милиця» (досить вільний переклад слова work-arounds) і здати проект.
При всьому різноманітті готових рішень (багато CMS пропонують у своєму складі готові інтернет-магазини, публікації новин, форуми), розробнику необхідно максимально ефективно інтегрувати компоненти і власний код в платформу. Адже стандартні поставки рідко вирішують завдання клієнта і підходять під бізнес-процеси компанії. Тільки тоді проект буде виконувати своє завдання, і приносити максимальний прибуток.
Передчасна оптимізація - корінь всіх зол.
Дональд Кнут
Наступним етапом є оптимізація проекту. Володіючи загальними знаннями про веб-програмуванні, розробник зможе оптимізувати проект лише наполовину (об'єднавши скрипти, правильно написавши стилі, подумавши про вагу завантажуються сторінок і вибравши хостинг, що знаходиться якомога ближче до цільової аудиторії відвідувачів сайту). Наведу як приклад найбільш часту і знайому всім ситуацію: відвідувач сайту гортає каталог інтернет-магазину, або користується фільтром, намагаючись полегшити собі пошук потрібних товарів, і в підсумку чекає результату кілька секунд. Аби не допустити витрачати таку кількість часу на вибір товару, відвідувач швидше піде на аналогічний сайт зі схожою товарною групою.
Звідси випливає питання: скільки ж повинна завантажуватися сторінка і який час брати за еталон? Від моменту, коли користувач почав відкривати сторінку в браузері, до її повного завантаження проходить близько 346.8 мс (в цей час включені подгрузка стилів, скриптів і картинок). Варто зазначити, що така швидкість завантаження буде досягатися лише за умови, коли між комп'ютером користувача і сервером буде найкоротша відстань, достатня швидкість каналу, а так само необхідно врахувати параметри латентності. В реальності швидкість завантаження сторінки буде дорівнює приблизно 2 секунди. Якщо ж сторінка завантажується сильно довше, то, швидше за все, це пов'язано з недоліками програмування при проектування. Затримка може бути пов'язана з неправильним написанням запиту до бази даних, що значно може навантажувати проект. Так само істотне навантаження надають різні флеш-анімації або сторонні сервіси (погода, курси валют, блоки соціальних мереж і т.п.). Говорячи про останні: не означає, що сайт потрібно позбавляти даних сервісів, навпаки, потрібно продумати, які варіанти їх виконання будуть найменше навантажувати сторінку. І нарешті, «повільні сайти» гірше індексуються пошуковими системами. Це пов'язано з тим, що пошуковий робот, не дочекавшись завантаження сторінки, пропускає її і не включає в загальний індекс.
Отже, підіб'ємо підсумки. Перш ніж стати клієнтом будь-якої компанії необхідно враховувати такі аспекти:
Вартість додавання нового функціоналу, це не тільки витрати на написання коду. Ціна також включає в себе перешкоди для подальшого розширення ... Трюк в тому, що слід підбирати функції, які не конфліктують один з одним.
John Carmack
- визначитися з завданнями, які повинна вирішувати майбутня розробка (скласти план не більше ніж на 3 місяці, тому що завдання можуть змінитися або застаріти);
- вибрати CMS, яка найбільш підходить під розробляється проект (чим менше програмісту доведеться доповнювати код входять в поставку CMS компонентів, тим нижче буде підсумкова вартість);
- вибрати хостинг (чим ближче географічне розташування серверів від цільової аудиторії відвідувачів, тим швидше будуть завантажуватися сторінки сайту);
- вибрати компанію, яка виконала достатню кількість складних і ексклюзивних проектів на обраної Вами платформі.
Сподіваюся, що ця стаття допоможе Вам визначитися з вибором і позбавить від проблем, що виникають після здачі проекту.
Але чи є це насправді перевагою і як позначається на якості розробки?
Звідси випливає питання: скільки ж повинна завантажуватися сторінка і який час брати за еталон?