Что такое технический стек Shopify

Опубликовано: 2023-06-08

Введение

Shopify — это имя, известное 2 миллионам предпринимателей электронной коммерции из более чем 175 стран. Любой, кто начинает заниматься электронной коммерцией, слышал об этой платформе на основе подписки и конструкторе витрин.

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

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

Значение технического стека

Стек технологий, также известный как технический стек, представляет собой набор инструментов, приложений, программного обеспечения и языков программирования, необходимых для создания продуктов SaaS. Другими словами, технический стек — это инфраструктура, необходимая для создания, запуска, управления и масштабирования веб-приложений и бизнес-экосистем.

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

Основы технологического стека Shopify

Shopify — удобная, простая в использовании и масштабируемая платформа как для технически подкованных, так и для начинающих предпринимателей. Его конструктор витрины требует минимального кодирования благодаря комплексному и гибкому комплекту разработки программного обеспечения (SDK).

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

В настоящее время Shopify имеет около 50 собственных приложений и более 4000 сторонних приложений в своем App Store. Среднее время отклика API составляет менее 100 миллисекунд. Он может легко обрабатывать 40 000 касс в каждом магазине за минуту. В то же время он имеет несколько бесплатных встроенных инструментов и виджетов, таких как генератор QR-кода и калькулятор прибыли, для легкой настройки бизнеса.

Все это возможно благодаря обширному технологическому стеку Shopify. Вот подборка истории технологического стека Shopify и последних дополнений:

Технология, которая создала Shopify и его приложения

Впечатляющие показатели задержки данных Shopify являются результатом его прочной основы в среде Ruby on Rails. Основатель Shopify Тоби Лютке построил платформу, используя первую версию Ruby on Rails, что сделало Shopify одним из старейших существующих приложений Rails.

Основное приложение Shopify представляет собой монолит Rails, большинство его приложений для предметной области написаны на этой полнофункциональной платформе. Вот несколько примеров: Shopify Shipping , Identity и App Store. Наряду с сохранением устаревшего кода Ruby on Rails, Shopify также приветствует другие фреймворки, такие как JavaScript, с Node.js в качестве последнего дополнения.

Технология, используемая для базы данных Shopify

История базы данных Shopify претерпела больше изменений, чем ее кодовая база. Он начал свой путь с MySQL в качестве реляционной базы данных. Однако в 2014 году стало все труднее хранить все гигантские данные в MySQL. Следовательно, он начал сегментировать свои данные на более мелкие части и хранить их в нескольких базах данных. Этот этап назвали шардингом.

Для сегментирования Shopify использовал такие базы данных, как Memcached (для хранения кешей памяти) и Redis (для хранения ключей-значений и запросов). Хотя это решение, казалось, решило проблему, оно все равно вызывало массовые сбои в работе системы.

Вот почему в настоящее время Shopify использует модули для создания экземпляров программы Shopify с собственными хранилищами данных. Это помогло решить их проблему с отключением. Технический стек базы данных Shopify использует компиляцию Kubernetes, Docker, Google Kubernetes Engine. В качестве балансировщиков нагрузки используются Nginx, Lua и OpenResty.

Технология, которая составляет администратора Shopify

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

На короткое время он перешел на Batman.js и Single Page Application Framework. В настоящее время Shopify вернулся к базовым HTML и JavaScript. Наряду с этим он включает в себя последние варианты фреймворка JavaScript, такие как React и Typescript.

Разбор архитектуры в технологическом стеке Shopify

1) Интерфейс

Shopify имеет интуитивно понятный стек интерфейсных технологий, который позволяет разработчикам интерфейсов создавать собственные витрины магазинов. В ряду последних разработок Shopify продвигает безголовую коммерцию , отделяя внешний интерфейс от внутреннего. Это делается в основном с помощью Hydrogen, встроенного набора инструментов для безголовой коммерции.

Некоторые из интерактивных клиентских инструментов Shopify включают в себя тележки для покупок, международный калькулятор цен, точки продаж, пользовательский интерфейс целевой страницы и т. д. Его технический стек совместим с библиотеками JavaScript, такими как React, Typescript, а также с HTML, CSS для разработки макета страницы, навигации. меню и т.д.

Последние разработки Shopify включают Liquid (язык шаблонов для создания пользовательских тем и шаблонов магазина Shopify), Shopify CLI (инструмент командного интерфейса для создания своих приложений) и Polaris (система дизайна для администратора).

2) Бэкэнд

Shopify обладает обширным набором технологий для поддержки внутренних операций и задач, лежащих в основе приложения. Его масштабируемая и надежная инфраструктура включает примитивы, API, SDK и другие инструменты. Они помогают владельцам магазинов и разработчикам создавать настраиваемые и полностью оборудованные магазины для потоков оплаты, управления запасами и заказами, обработки продаж и т. д.

В 2022 году Shopify официально внедрила Rust вместе с Ruby, чтобы открыть возможности высокопроизводительного системного программирования. Исторически бэкэнд-разработчики Shopify полагались на такие языки, как C и Go, совместимые с Ruby Stack. Теперь они перешли к гибкости Rust, которая обеспечивает интеграцию с веб-платформами следующего поколения, такими как WeAssembly.

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

3) База данных и облачные сервисы

Shopify традиционно использует реляционную базу данных, такую ​​как MySQL и RDBMS, для обеспечения масштабируемости, надежности и безопасности своих данных. Однако после переоценки своих потребностей в глобальной компетенции, нулевых сбоях в работе сети и повышенной скорости Shopify принял «капсулы».

Поды создают автономные небольшие пакеты хранилищ данных, каждый из которых запускает свои собственные процессы. Shopify использовал для этого Kubernetes и Docker. Недавно Shopify решил перейти на облачную среду, чтобы уменьшить когнитивную нагрузку и устранить границу между хостом и контейнерами приложений. Этот случай относится к оптимизации платформы разработки кода.

4) Интерфейс прикладного программирования (API)

Shopify — это мощный API с высокопроизводительным калибром. Он расширяет несколько внутренних и внешних вариантов использования с помощью API-интерфейсов, позволяя владельцам магазинов взаимодействовать с несколькими платформами. API-интерфейсы Shopify созданы с использованием фреймворков GraphQL и REST и поддерживают несколько клиентских библиотек, таких как Node.js, PHP, Python, Ruby и Curl.

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

Shopify разработал специальные API-интерфейсы для создания настраиваемых тем магазина, динамического обновления контента и создан для безголовой коммерции. Этими API являются Ajax API (с конечной точкой REST), API рендеринга разделов (HTML-разметка) и Hydrogen (построенный на Remix).

5) Магазин приложений Shopify

Shopify App Store — это дом для грандиозной коллекции приложений, насчитывающей около 8000 собственных и сторонних приложений. В 2018 году Shopify обновил свой магазин приложений, добавив новую тему и четкую классификацию приложений, которые он размещает. Существует шесть основных категорий:

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

Shopify предлагает комплексный набор технологий, который помогает разработчикам создавать, размещать и запускать приложения. Shopify в первую очередь предлагает скрипты Ruby и Node для написания базы кода. Инструмент Shopify CLI для помощи в быстрой разработке приложений и Polaris, который является его официальной системой дизайна и комплектом пользовательского интерфейса. Разработчики приложений могут выставлять счета за свои продукты с помощью Shopify GraphQL Admin API.

Должны быть приложения в вашем технологическом стеке Shopify для оптимизации вашего магазина

Вот несколько сторонних технических приложений, которые могут оптимизировать продажи, логистику и взаимодействие с клиентами для вашего магазина:

1) Для управления возвратами — ClickPost Returns Plus

ClickPost Returns Plus — это специализированное решение для управления возвратами Shopify. Приложение помогает брендам повышать лояльность клиентов и снижать отток клиентов за счет оптимизации возвратов с помощью автоматизации.

С помощью приложения бренды могут создавать настраиваемые и удобные для мобильных устройств порталы фирменных возвратов, настраиваемые в соответствии с их политиками возврата. Наряду с этим у них может быть портал самообслуживания на нескольких языках, автоматические обновления по электронной почте и подробные аналитические отчеты.

2) Для персонализированного электронного маркетинга — Klaviyo

Klaviyo — это инструмент многоканального маркетинга, известный своим персонализированным подходом к общению с клиентами по электронной почте и SMS. Он обладает надежными инструментами, основанными на данных, такими как анализ данных для понимания аудитории и A / B-тестирование для оптимизации электронной почты. Он может автоматизировать кампании и создавать индивидуальные сообщения для более быстрой конверсии клиентов.

3) Для поддержки клиентов — Zendesk

Zendesk — известное приложение для обслуживания клиентов и поддержки. Он предлагает автоматизированную поддержку клиентов с помощью таких инструментов, как управляемая беседа, поддержка самообслуживания и боты с искусственным интеллектом. Zendesk позволяет владельцам магазинов запускать индивидуальные сообщения для клиентов и звонки в систему IVRS для полноценной поддержки клиентов.

4) Для конверсии клиентов - Justuno

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

Заключение

Технический стек определяет основы любого бизнес-приложения и платформы SaaS. Технический стек Shopify, основанный на Rails, является секретом его высокоэффективной и надежной бизнес-инфраструктуры, обеспечивающей 10% торговли в США. Мы надеемся, что эта статья поможет разработчикам полного стека и брендам получить современное представление о технологии Shopify.

Часто задаваемые вопросы

1) На какой технологии построен Shopify?

Shopify построен на Ruby on Rails, который представляет собой полную структуру веб-приложений для разработки внешнего и внутреннего интерфейса. Хотя Shopify продолжает свое наследие Ruby, в последние несколько лет он также начал работать с Node.js и Rust.

2) Как бренды могут проверить свой технологический стек Shopify?

Аудит технологических стеков Shopify начинается с понимания бизнес-процессов и связанных с ними приложений или API-интерфейсов. Начните с перечисления всех приложений и технологий, используемых для соответствующих бизнес-приложений. После этого отправьте список остальным членам команды для учета приложений и инструментов.