26 января 2016

Magento - хорошо или плохо?

Описание Magento
Magento - это платформа для создания интернет-магазинов, которая по своим характеристикам, как инструмент, больше похожа на библиотеку для разработки торговых web-систем, нежели законченный инструмент для создания интернет-магазинов розничной торговли. В среде разработчиков для подобных инструментов имеется специальный термин CMF (Content Management Framework) используемый вместо CMS (Content Management System).
В базовом варианте Magento имеет функционал:
  • описания товаров;
  • управления ценообразованием;
  • обслуживания заказов;
  • организации работы персонала с классами объектов и данными.
Разработчики Magento делали акцент на:
  • универсальность построения описаний товаров (есть возможность строить конструкторы сложных товаров, создавать настраиваемые товары, создавать товары с собственными наборами атрибутов), что было достигнуто использованием специального механизма работы с данными о товарах;
  • высокой масштабируемости и производительности (Magento это скорее инструмент для создания интернет-супермаркетов, чем для интернет-ларьков);
  • развитости средств управления ценообразованием, что крайне необходимо для магазинов с очень большой товарной номенклатурой;
  • на возможностях модификации (кастомизации);
  • интегрируемости.
Именно в силу специфики предполагаемого использования Magento в этом инструменте относительно слабо развиты:
  • средства управления исполнением заказов;
  • управленческий учет и ряд других административных функций,
потому что изначально предполагалось, что эти функции будут реализованы преимущественно внешними средствами, программно-аппаратными комплексами и онлайн-сервисами. Например имеются решения для интеграции с системой управления предприятием OpenERP.
Большой интерес представляет организация проекта Magento в целом, которая уникальна среди проектов по разработке платформ для интернет-магазинов. В рамках этого проекта есть три взаимосвязанных направления:
  • Magento CE (Community Edition);
  • Magento EE (Enterprise Edition);
  • Magento Go.
Magento Go это Magento, предоставляемая как SaaS решение, то есть нечто похожее на аренду программного обеспечения, но в данном случае речь идет не об оплате права пользования ПО, а об оплате содержания хостинга и постоянной технической поддержки фактически непосредственно от разработчиков платформы. Magento EE это практически та же Magento, но с установкой на аппаратных средствах заказчика или хостинге с круглосуточной технической и консультационной поддержкой разработчика платформы. И наконец Magento CE это все та же Magento, но распространяемая бесплатно разработчиком по лицензиям сообщества Open Source.
Благодаря подобной организации проекта СЕ версия продукта обладает высоким качеством на уровне коммерческого продукта и функциональными возможностями платформы, позволяющей строить как индивидуальные магазины, так и торговые площадки для совместной работы большого количества продавцов, предоставляя каждому из них торговое место как SaaS решение.
В основе кода всего проекта лежит наиболее развитая библиотека открытого кода Zend Framework, поэтому с самого начала в реализацию проекта были заложены промышленные технологии разработки и тестирования (в Magento есть специализированная библиотека для отладки приложений) программного кода и большинство шаблонов объектно-ориентированного проектирования (паттерны ООП), что создает эффективную основу для модернизации платформы.

От себя скажу, что движок продвинутый и имеет много функций и возможностей, но дорогой в эксплуатации:
  1. Решение на этом движке сильно "тормозит" и требует крутого хостинга, а ещё лучше VPS (причём чем больше продуктов вы будете продавать в магазине - тем больше будет тормозить);
  2. Если вам чего-то не хватит для бизнеса - вам с удовольствием допишут, только сложность системы очень высока, и программисты под неё - дороги;
  3. По этой же причине большая часть популярных плагинов под Magento - платная;
  4. Также платная официальная поддержка стоит больших денег;
  5. Некоторые редко-востребованные, но довольно важные функции (скидочные купоны, например, и т.п.) доступны только в Enteprise версии (т.е. только с той же дорогой поддержкой).