На чём можно разработать интернет-магазин

Аватар пользователя ADCI_Solutions ADCI_Solutions 5 февраля в 14:02

Выбор технологии для интернет-магазина в первую очередь зависит от поставленной задачи и размеров вашего бизнеса. Для реализации простой бизнес-логики заказов и оплаты, а также если поток клиентов не очень большой (в случае домашней пекарни или локальной кафешки, к примеру), хорошо подойдут готовые конструкторы сайтов, такие как Tilda или Wix.

Также не стоит пренебрегать встроенными возможностями соцсетей. К примеру, небольшой бизнес может успешно жить внутри экосистемы ВКонтакте.

Но переход от небольшого бизнеса к среднему и крупному ставит перед его владельцем новые задачи:

- разграничение прав доступа пользователей инструмента онлайн-продаж,

- масштабируемость при высоких нагрузках;

- несколько разных eCommerce-сайтов, объединённых одной кодовой базой и одинаковой функциональностью (система мультисайтинга);

- поиск товаров по нескольким характеристикам (или фасетный);

- интеграция с CRM и другими сервисами.

В таком случае стоит обратиться к готовым CRM и eCommerce-платформам. Таких платформ много, но мы как студия с глубокими компетенциями в CMS Drupal поговорим о ней.

Чуть проще: eCommerce-модули Kickstart и Ubercart

Коммерческий потенциал Drupal

Готовые платформы Open Source экономят бюджет тем, кто ставил их на службу своему бизнесу. В кризисное время они стали ещё более привлекательными. И то, что с помощью Drupal можно одновременно управлять и контентом, и продажами, – большая удача для всех видов предпринимателей и заслуга сообщества, разбросанного по всему миру. Есть минимум 11 причин, почему на базе этой CMS можно разработать не только лендинг или сайт туроператора, но и отличный интернет-магазин:

Таксономия. Модуль Taxonomy организует работу фильтрации и сортировки товаров в каталоге продукции на сайте. Без этого онлайн-магазин невозможен. Какое-то время модуль Taxonomy приходилось скачивать и устанавливать отдельно, но из-за большой востребованности его включили в ядро Drupal.

Data-driven подход в электронной коммерции. Чтобы ваши продажи управлялись контентом, нужна глубокая интеграция eCommerce-платформы и CMS друг в друга. Это редко проходит быстро и бесшовно, и здесь обнаруживается один из выгодных плюсов Drupal: Drupal Commerce. Это дополнение к Drupal, играющее роль модуля и фреймворка. Ниже мы расскажем о нём подробнее.

Сотни модулей, дистрибутивов и тем. Влияние международного Drupal-сообщества на платформу нельзя переоценить: его участники работают над решениями задач любой сложности, чтобы потом владельцы внедряли их в свои интернет-магазины. Два самых распространённых решения – Drupal Kickstart и Ubercart, о котором мы тоже немного поговорим.

Интеграция со сторонними сервисами. Для нормальной работы онлайн-магазин на Drupal нужно обвесить платёжными системами и системами аналитики, интегрировать с соцсетями, настроить чат, автоматизировать маркетинг. Архитектура REST API открывает Drupal доступ к широкому спектру таких инструментов.

Mobile first-архитектура. Если хотите помочь освоить те самые 3,5 трлн долларов, который заработают mCommerce-проекты в 2021 году, ваш интернет-магазин должен работать на всех мобильных устройствах. Адаптивный дизайн по умолчанию – вот одно из отличительных свойств Drupal.

Мультиязычность. Покупают и продают по всему миру, поэтому любой eCommerce/mCommerce-проект должен уметь говорить с клиентом на любом языке. Drupal знает около ста, в том числе те, текст на которых читается справа налево.

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

Учёт ассортимента товаров. Если вы продаёте одежду, у неё есть параметры размера, цвета, пола. Если ваш товар – комиксы, то их можно делить на оригиналы или переводы, для лиц старше 6 или 18 лет, выпущенные тем или иным издательством и т. д. В модуль Drupal Commerce заложено понятие складской учётной единицы (SKU – Stock Keeping Unit). Это идентификатор, который будет своим для каждого товара с разными параметрами. Кроме того, эта возможность помогает контролировать остаток на складе.

Разделение ролей пользователей. Простому покупателю не стоит давать доступ к админке магазина, как и продавцу необязательно открывать возможности для замены баннеров и темы сайта.

Грамотный UX. Чем быстрее пользователь совершит на сайте покупку, тем выше шанс, что он вернётся за новой, а поисковики будут лучше ранжировать сайт по целевым запросам. Drupal может обеспечить такую скорость, а при следовании принципу Headless eCommerce пользователь будет перемещаться между страницами со скоростью болида.

Омниканальность. Чем больше точек касания с покупателями, тем лучше, и Drupal обладает потенциалом для построения целой экосистемы продуктов. Если вслед за сайтом вы захотите разработать мобильное приложение, то работы будет меньше – благодаря тому же принципу Headless eCommerce система управления контентом выступает в качестве базы данных, общей и для сайта, и для приложения.

Drupal Commerce

О Drupal говорят как о платформе, в которой достаточно уметь ставить галочки в нужные чекбоксы и получить первые продажи. Так вот, это преувеличение – начать собирать колючки на этом тернистом пути можно даже во время конфигурации Drupal. Спросите себя: «Раз всё так просто, то чем занимается многочисленное комьюнити Drupal-разработчиков?» и станьте на шаг ближе к созданию красивого, современного, конкурентоспособного, безопасного с точки зрения утечки данных и постоянно обновляемого онлайн-магазина, который нельзя создать без знаний, добываемых годами. Но инструкцию для не-программистов мы всё равно приложим – новое знание поднимет вам самооценку и впоследствии позволит свободнее общаться с командой разработки.

Мы помним, что сам по себе Drupal в первую очередь позволяет размещать на сайте контент, а все остальные возможности наращиваются Drupal-совместимыми модулями. Один из таких – Commerce.

Это модуль и одновременно фреймворк, разработанный на архитектуре Drupal и дающий возможность нативной интеграции коммерческих опций в Drupal-сайт. С принципом API-first разработчик быстро сможет связать модуль с любым сторонним приложением. Это особенно важно, если до онлайн-магазина ваш бизнес уже был интегрирован с какими-то системами. Так как это фреймворк, то все конфигурации, настройки и темы создаются с нуля. Разработчику даётся полная свобода действий, но если вы не из их числа, то не расходуйте время на попытки понять этот инструмент самостоятельно.

В базовый набор сущностей, которые можно создать на Commerce, входят:

- Product (продукт) – то, что продаётся в магазине;

- Orders (заказы) – один или несколько единиц продуктов, которые пользователь сайта положил в корзину, а также настройки для каждой единицы продукта, учитываемые на этапе расчёта итоговой стоимости и оплаты (например, скидка на продукт);

- Line Items (позиции в заказе) – единица продукта с его свойствами (размер, цвет и т. п.), которые будут учтены при формировании заказа;

- Payment Gateways (платёжные шлюзы) – программное обеспечение, решающее задачу оплаты заказа. Это либо самописные решения, либо готовые, вроде PayPal, Stripe, Braintree, Ubercart, платёжные шлюзы банков.

В довесок к этому члены комьюнити написали для Drupal Commerce полезные модули для всего на свете: расчёта стоимости доставки, учёт остатков, подсчёта сборов и пошлин и многого другого.

На текущий момент существуют две версии Drupal Commerce: Commerce 1 совместима с проектами на Drupal 7, а Commerce 2 — Drupal 8 и 9. Обе можно скачать с сайта Drupal.

Нет времени и бюджета? На такой случай есть парочка модулей с чуть более низким порогом сложности.

Drupal Commerce Kickstart

Если философия фреймворка, которым является Commerce – это собрать магазин с нуля, то в случае Kickstart разработчик имеет дело с дистрибутивом, в котором есть комплексы из модулей под разные цели. Kickstart нужен в обстоятельствах ограниченного времени и опыта, но опыта всё ещё большего, чем у не-разработчика – хотя бы для интеграции с сервером, потому что мощностей стационарного компьютера может не хватить.

Ubercart

Ещё один комплект Drupal-модулей для создания интернет-магазина рядовым пользователем. Соответственно, конфигурируется простановкой галочек. Функциональность из коробки включает каталог категорий и товаров, корзину, оформление заказа, модули для оплаты и доставки, модуль для расчёта налогов, модуль для учёта складских остатков и модули для создания отчётов.

Headless eCommerce: один бэкенд, чтобы править всеми каналами продаж

Перед заключением расскажем о тренде в eCommerce-разработке, который не собирается уходить. Headless (или Decoupled) eCommerce – это принцип разработки даже не сайта, а целой экосистемы продуктов, работающих на ваш бизнес. В эту экосистему, помимо сайта, может входить мобильное приложение, онлайн-касса, смарт-терминал, социальные сети, чат-боты и многое другое. В случае соблюдения принципа Headless eCommerce все они берут данные с одного и того же сервера.

Попробуем объяснить архитектуру Headless eCommerce-сайта элементарным языком. Все незримые процессы, обслуживающие простые пользовательские операции вроде добавления продуктов в корзину, оплаты, применения подарочных карт и скидок, называются бизнес-логикой. Её обработка происходит на сервере, который можно в том числе построить на CMS Drupal. За видимые результаты обработки этих операций отвечает клиентская часть, для разработки которой используются такие JavaScript-фреймворки как React, Vue.js или Angular. Между ними встроен прикладной интерфейс, например, Rest API или GraphQL, передающий данные от от сервера к клиенту.

Преимуществами использования такого принципа станут:

- снижение нагрузки на сервер за счёт только частичной загрузки Drupal,
- снижение времени на разработку бэкенда сайта,
- использование возможностей JavaScript-фреймворков при разработке фронтенда вместо тем и шаблонов Drupal,
- гибкость в выборе фронтенд-разработчиков.

Полную версию читайте в статье на сайте Retail& Loyalty.