Розробка сайтів на PrestaShop

Як видно з заголовка, у цій статті йтиметься про розробку сайтів-магазинів. Відразу хочу зазначити: цей пост не є технічним, це, скоріше, просто витяг з власного досвіду роботи з e-commerce платформами. Основною метою при написанні тексту було бажання поділитися своїм досвідом з розробниками, які тільки починають свій шлях у величезному світі девелопменту для e-commerce.

Червоною ниткою в цьому тексті проходитиме питання вибору платформи для вашого майбутнього магазину.

Сталося так, що свою кар'єру розробника я почав у компанії, основною спеціалізацією якої були інтернет-магазини. З того часу і по сьогодні я в пошуку ідеальної CMS для цього. На даний момент існує безліч движків для створення свого магазину, від старих і морально застарілих, таких як Ubercart або Opencart, до сучасних гігантів на кшталт Magento, але, як кажуть, істина десь посередині... Наразі я віддаю перевагу створенню веб-сайту на PrestaShop.

Інтернет зберігає незліченну кількість порівнянь за продуктивністю, проценту покриття ринку та інших параметрах, але це суха статистика, в ній немає життя :). Значно цікавіше те, чому використовує той чи інший движок конкретний розробник.

Коротко про CMS, з якими мені довелося працювати

Відправною точкою в моїй нелегкій подорожі стала згадана вище CMS Magento, але оскільки на той момент я був зеленим джуном, система здавалася мені занадто важкою: всі ці безкінечні xml-файли конфігурацій (схоже на те, що розробникам системи за їх кількість доплачували :) ); до того ж, движок доволі «тугий» в плані продуктивності, без varnish на prod ні ногою. Хтось може заперечити, «та ну, ви просто не вмієте його налаштовувати». Можливо, в цьому є частка істини, але з тим фактом, що система досить складна для освоєння, думаю, багато хто погодиться (згадайте одні формочки в адмінці, відразу мутить починає).

Magento CMS

Тож, друже, що починаєш, не варто псувати собі апетит, моя порада — цю систему варто залишити на десерт.

Далі за хронологією подій мені довелося працювати з Opencart, і відразу ж я відчув захоплення від простоти та зрозумілості коду, движок швидкий, але ось незадача: розширюваність ніяка. Поки в списку ваших задач щось на кшталт «додати зірочки для продуктів» або «приклеїти бейджики покупцям», все йде як по маслу, але як тільки з'являється задача на створення комбінацій атрибутів або фільтрів з плюшками, хочеться застрелитися табуретом.

OpenCart CMS

Вердикт: система хороша для маленьких магазинів, можна скачати безкоштовний шаблон, накатити парочку модулів і радіти життю. Якщо більше і серйозніше — чур мене.

Є ще вагон і маленька візок різних движків, більш або менш перспективних, але оскільки я тут описую те, з чим довелося працювати тісно, то хочу перейти до того, про що, власне, написано в заголовку. Отже, створення магазину на PrestaShop, плюси і мінуси, з якими довелося зіткнутися в процесі роботи з движком.

PrestaShop

Розпочнемо, мабуть, з позитиву. Розробка веб-сайтів на PrestaShop — приємна справа, оскільки з коробки він має майже все, що може знадобитися 80% замовників. Іноді я навіть щиро дивуюсь тому функціоналу, який там можна знайти, а велике ком’юніті та популярність свідчать про те, що проект «згасати» не збирається. Є також безліч платних модулів на будь-який смак і розмір, але це все фасад, оболонка. Що ж нас чекає всередині, адже, власне, ми ж збираємось щось дописувати, хочеться зрозуміти, у що це нам виллється в перспективі.

Підкреслюю, все, про що йдеться нижче, стосується останніх версій (1.6.х), оскільки з старшими версіями я працював менше.

Переваги Prestashop

  1. Цікава система розширення класів у ядрі, після того ж vqmod сприймається як благословення, хоча й вона далека від ідеалу.
  2. Досить просто дописуються модулі (до речі, їх потім можна викласти в загальний репозиторій PrestaShop і отримати додатковий прибуток, вони якраз шукають, кому б мільйон вічнозелених за написання нових модулів подарувати).
  3. Система хуків у значній мірі спрощує процес «допилювання» нового функціоналу поверх існуючого. Загалом, розробляти під цю CMS набагато приємніше в порівнянні з вищеописаними системами.

Недоліки Prestashop

  1. Досить огидний codestyle, іноді так і хочеться зробити Reformat code по всьому проекту і відправити PR-ом розробникам, ось тільки не приймуть, горді, мабуть :).
  2. Відсутність нормального Dev-шаблону, що в подальшому призводить до жахливих мук для розробника або верстальника, доводиться брати стандартний шаблон і «доводити напильником».
  3. Не менш огидний JS шаблон. Так, багато чого там реалізовано з використанням AJAX і jQuery-ефектів, але часто це виглядає досить непривабливо.

Якщо знайдеться людина, яка виправить ці недоліки або «запилить» людський шаблон для розробників, обіцяю особисто скинутися на бронзовий пам’ятник у повний зріст :). (від редактора блогу: нестримно плюсую!)

І на завершення

У загальному, головна думка вищеописаного: на жаль, ідеальної системи, яка задовольнить усіх розробників, не існує, хоча й робляться спроби її створити, і поки хтось чекає чудес від Магенти другої версії або насолоджується бездоганним кодом Sylius, нам доводиться працювати з тим, що є. Як кажуть, вибираємо менше з зол.

Ну от, мабуть, і все, чим хотілося поділитися з шановним читачем. Раз вже хтось дочитав пост до цих рядків, то наважуся припустити, що хоч щось у ньому таки було корисним.

Ще раз акцентую увагу, що ця стаття не претендує на звання істини в останній інстанції, а є суб'єктивною думкою автора, тому прошу не судити строго і не закидати тухлими овочами. На цьому все, до нових постів :)