Найти тему

Как выбрать платформу(CMS) для разработки интернет-магазина?

Выбрать CMS для интернет-магазина на данный момент довольно сложно, так как для этого придется провести довольно обширный и глубокий анализ целой индустрии веб-разработок. Для упрощения задачи нужно определится с основными факторами влияющими на эффективность интернет-магазина:

1. Стилизация

Настройка внешнего вида крайне важна для любого сайта, а не только для ИМ. В большинстве решений имеющих место в данный момент на рынке, это серьезный камень преткновения. Верстальщикам приходится изучать много документации и мануалов для того чтобы просто найти то место где необходимо произвести изменения. В самых дорогих коммерческих CMS можно наблюдать серьёзные проблемы с стилизацией, особенно когда речь заходит о стилизации сторонних модулей и расширений. По этому можно наблюдать как сайтах такие модули как “обратный звонок”, “вопрос/ответ”, “книга отзывов” выполнены в разных цветовых решениях и стилистике. Это оставляет не очень благоприятное впечатление о сайте. Как будто у создателей сайта дела идут не очень хорошо и у них не хватило денег на то чтобы сделать красивый сайт в едином стиле. По этому самые эффективные системы управления контентом используют так называемые шаблонизаторы. Это специальная технология которая позволяет отделить бизнес-логику сайта от фронтенд-представления (то что видит пользователь в браузере). Сейчас в мире php в основном остались жить только три шаблонизатора: Twig, Blade, XSLT. XSLT можно сразу отсечь, так как он довольно сложен и поддерживать его очень накладно (XSLT Технология microsoft 1999 года). Его используют такие системы как HostCMS и UMI. Всем известная Bitrix вообще не использует шаблонизатор из коробки, и хранит бизнес-логику магазина прямо в шаблоне, так что допустить обычного верстальщика к стилизации проекта не получится, только программиста битрикс. Шаблонизатор Blade используется в основном в Laravel проектах, и пока не замечено развитых CMS с данным шаблонизатором, так что о сути остаётся только Twig. Качественный и легкоусвояемый шаблонизатор, довольно любим верстальщиками за простоту освоения и интуитивно-понятную логику.

2. Кастомизация

На любом сайте, кроме основной логики интерфейса, очень много мелких модулей отображающих ту или иную информацию. Это контактные данные в разных секциях сайта, логотипы, фоны, цветовая схема всего сайта или отдельного модуля. Может набраться очень много такой информации, которая требует оперативного контроля. Владельцев сайтов, как правило, очень огорчает что каждый раз приходится обращаться к специалисту, чтобы заменить картинку или поменять телефон в шапке и в футере. Поэтому и была придумана такая технология как “переменные шаблона”. Сколько бы мелких информационных блоков не участвовало в шаблоне, в CMS они должны комфортно располагаться в админ-панеле, чтобы владелец сайта мог без труда зайти и быстро поменять какую-то информацию.

3. Масштабирование

Как было неоднократно подмечено ранее, возможность масштабирования интернет-магазина является крайне важным аспектом экономической составляющей бизнеса в целом. Без возможности оперативно дополнять сайт новым функционалом продавец моментально сдаст позиции в конкурентной войне. Важно иметь не только эффективный инструмент продаж, этот инструмент должен быть гибок, моментально подстраиваться и адаптироваться под новые маркетинговые инновации. При всём при этом, проект должен обслуживаться и расширятся с минимальными накладными расходами на услуги программистов, а значит иметь большое сообщество, обширную документацию, соответствие современным мировым стандартам и общепринятой философии программирования. Разработки в сфере web уже долгие годы претерпевают сложнейшие эволюционные процессы, благодаря естественному отбору и мутациям можно наблюдать тенденции к выживанию отдельно взятых технологий, таких как язык программирования php. Несколько лет назад его дальнейшее развитие ещё “как будто” было под вопросом так как в сообществе высококвалифицированных программистов данный язык программирования не воспринимался всерьёз, но стоило провести более глубокий анализ развития ит-рынка в целом и можно было увидеть что побеждают технологии с минимальным порогом вхождения (когда технология быстро осваивается новичками). Таким образом, нравится ли это светилам мирового программирования или нет, php занял неоспоримую высоту в области web. Вот и в сфере CMS можно наблюдать как вымирают “неповоротливые мамонты”, а гибкие и современные решения захватывают новые высоты. Определить, является ли CMS масштабируемой или нет не так просто, для начала нужно вникнуть каким образом в нее привносится дополнительный функционал: сколько для этого придётся перечитать документации и проанализировать кода? Сколько придётся заплатить денег для добавления нового функционала? Можно ли отдавать новые добавленные функции на доработку третьим лицам? Сколько это всё занимает времени?

4. Надёжность

Уже не для кого ни секрет, что с приходом в наш мир криптовалют, количество хакеров на квадратный километр резко увеличилось. Если раньше они взламывали сайты чтобы устроить с них спам-рассылку, то сейчас взломанные сайты для них просто море новых возможностей, в том числе и майнинг за счёт компьютеров посетителей взломанного сайта. Понять на сколько надёжна та или иная CMS можно только лично проинспектировав ход работ по обнаружению и устранению уязвимостей. Понять как в этом направлении идут дела у коммерческих CMS не сложно, даже если учесть что это их коммерческая тайна и они это скрывают. Что могут сделать 100 программистов коммерческой CMS против многомиллионной армии CMS с открытым исходным кодом? Правда ответ неочевиден, так как CMS с открытым исходным кодом, должна быть не только известной, но и привлекательной для разработчиков. Например на данный момент, интерес разработчиков угасает к самым известным и долгоживущим системам управления контентом по причине устаревания их организации кода. В тоже время на github можно довольно быстро выделить флагманские CMS, работа над которыми кипит днём и ночью. Особый интерес представляют системы управления основанные на популярных php-фреймворках, так как вычисляя размер сообщества CMS, можно учитывать и сообщество фреймворка. Чем больше программистов в оперативном режиме работает над усовершенствованием какого-то программного продукта, тем меньше вероятность в них найти уязвимость которую можно использовать в автоматическом режиме. Стало быть самая надёжная CMS та, которая благодаря красоте организации кода создает наивысший ажиотаж среди разработчиков на данный момент.

5. Сумма технологий

В последние годы можно наблюдать как самая колоссальная ниша всей ит-индустрии, а именно web, выделяет в себе отдельные технологические ответвления. Данные технологии специализируются на конкретных задачах: Базы данных, кэширование, сессии, электронная почта, очередь задач, внешние источники данных и так далее. Каждая из этих задач порождает свой сервис или серверное решение (memcached, mailgun, mongodb, socket.io и т.д.). Если CMS не способна быстро и комфортно интегрировать и использовать эти сервисы, использовать её в современных реалиях просто нецелесообразно. Это всё равно что открыть офис для бизнеса и не иметь возможности провести в него интернет, или купить автомобиль и не иметь возможности использовать более качественный навигатор, сигнализацию и прочие инструменты для расширения функциональных возможностей. Соответственно CMS должна иметь возможность взаимодействия с известными сервисами и решениями для повышения своих технических характеристик.

6. Админпанель

Одно из важнейших требований к любой CMS это комфорт управления этой CMS обычным пользователем. Как показывает практика, большинство коммерческих CMS несмотря на удивительной красоты админки, не сильно переживают на уровень квалификации конечных пользователей. Подчистую в такой красивой админке нужно очень долго разбираться для того чтобы выполнять примитивные операции, такие как: добавление/изменение контента, управление функциональными модулями, управление структурой контента. Также из за отставания от современных тенденций к мобильным устройствам, их админпанели просто не адаптированы для экранов с низким разрешением. То есть принять и обработать заказ покупателя с мобильного телефона просто не получится, нужно будет добираться до компьютера. Соответственно CMS должна обладать адаптивной и интуитивно понятной для владельца интернет-магазина админ-панелью.