Преимущества и недостатки OpenCart
Я работаю с OpenCart уже больше 2-х лет, поэтому учитывая мой немалый опыт работы с этой системой, постараюсь максимально объективно описать ее преимущества и недостатки. Или плюсы и минусы OpenCart.
Для начала несколько слов о том как я начал работать с OpenCart. Это было около 2-х лет назад. Тогда я все сайты, в том числе интернет магазины, делал на Drupal. Но в то время как раз вышел Drupal 7, он был более современным и функциональным, чем Drupal 6, но пока еще не "оброс" модулями и нормального модуля интернет магазина под семерку тогда еще не было, были сырые версии, которые использовать еще было слишком рано. А на шестерке уже делать не хотелось, так как это уже была устаревшая система, хотя она и имела много модулей. Еще одной проблемой Drupal было то, что это достаточно тяжелая система, а магазин нужно было делать на больше 100к товаров. Поэтому я решил найти замену Drupal для магазинов. Перечитав за несколько дней кучу форумов, блогов, обзоров, отзывов итд. я остановился на OpenCart и.. не пожалел :)
Преимущества OpenCart:
- он бесплатный, не нужно отдавать кучу денег за голый движок
- имеет открытый код
- очень активно развивается, постоянно выходят новые версии
- имеет огромное сообщество, как русскоязычное так и англоязычное
- имеет очень много модулей и тем, больше 10 тысяч. Есть платные, есть бесплатные.
- дешевые платные модули. В русском сообществе модуль в среднем стоит 200-250р, на оф. сайте 15-20$, что намного дешевле других движков, например Presta Shop, я уже молчу о Битрикс или Magento
- имеет богатый функционал магазина (скидки, купоны, акции, опции, характеристики, группы пользователей итд.)
- очень быстрый, магазин с 20-30 тыс. товаров сможет работать даже на дешевом шаред хостинге.
- ООП
- MVC. Достаточно хорошо реализованная.
- очень простой код. Во-первых из-за MVC сразу понятно что и где искать, а во-вторых из-за разработчиков движка, они приделяют огромное внимание читабельности кода, постоянно в репозитории появляются коммиты по переименованию переменных, исправление отступов итд. Я свой первый модуль для этой системы написал после 3 (трех) дней знакомства! Для примера чтобы написать первый модуль для Drupal у меня ушло около 3-х месяцев.
Недостатки OpenCart:
- одним из самых больших недостатков OpenCart является то, что в нем нету развитой системы hook-ов как в Drupal или Событий. События только появились в версии 2.0 и на данный момент находятся в зачаточном состоянии. А до 2.0 их вообще не было. То есть у разработчика просто не было возможности внести какие-то изменения из своего модуля программно не меняя при этом код самого движка. Чтобы как-то выйти из ситуации разработчики придумали свое недо-решение или "костыль" под названием vQmod. Которому можно "скормить" xml файл с правилами что и где поменять, он с помощью строковых функций меняет файлы движка и движок уже подключает измененные файлы. Такой подход порождает огромное количество конфликтов, исправлять которые на более менее большом сайте в котором больше десятка vQmod фалов превращается в настоящий ад. Фактически вы даже новый пункт меню добавить не можете программно. Вам нужно для этого изменять код самого движка или вручную или с помощью vQmod. Радует, что с версии 2.0 уже появились События.
- простота кода и низкий порог вхождения притягивают к OpenCart очень много начинающих разработчиков, которые мало того, что пробуют создавать свои модули, так даже их продают за деньги. И покупая очередной модуль есть немалая вероятность что внутри вы увидите ужасный код, ошибки, с помощь которых ваш сайт могут взломать, часть модуля просто придется переписать самому, а нормальной поддержки вам не окажут из-за очень небольшого опыта разработки.
То есть, если в OpenCart добавить развитую систему Событий то мы получим почти идеальные движок интернет магазина.