Проект
Shopify Theme
Tiles — один из двух адаптивных пресетов на базе 200+ переиспользуемых компонентов темы, опубликованных после проверки Shopify.
- Роль
- Frontend-разработка · Архитектура темы
- Стек
- TypeScript · SCSS · Liquid · Vite · Playwright · Git
- Период
- 2025-2026
- Результат
- Публикация в Shopify Theme Store
Обзор
Создано для современных брендов.
Публикация в Shopify Theme Store
Проект охватывал полную разработку темы Shopify: проектирование архитектуры, реализацию 200+ переиспользуемых Liquid-компонентов, создание двух разных пресетов и прохождение полного процесса проверки Shopify. Всего библиотека содержит 217 файлов: 63 секции и 154 блока. Тема прошла все обязательные проверки и опубликована в официальном Shopify Theme Store с пресетами Bricks и Tiles.
Задача
Разработка темы такого масштаба требовала решить гораздо больше, чем визуальную часть витрины. Более 200 компонентов должны были оставаться согласованными, настраиваемыми, производительными и удобными в поддержке, при этом давая продавцам достаточно свободы для работы с кампаниями и коллекциями без отдельной разработки каждого обновления.
Одна переиспользуемая основа темы поддерживает два разных характера витрины. Bricks рассчитан на модные бренды, а Tiles предлагает более динамичное направление для продуктовых и lifestyle-магазинов. Оба пресета используют общую архитектуру секций и предсказуемо работают на экранах любого размера.
Роль и ограничения
Работа охватывала полную реализацию темы: архитектуру компонентов и секций, адаптивное поведение интерфейса, настройки редактора, локализацию и полный цикл контроля качества, необходимый для публикации.
- 63
.liquid-файла секций вsections/и 154.liquid-файла блоков вblocks/должны использовать предсказуемые паттерны дизайна и взаимодействия. - Продавцы должны собирать страницы из документированных секций и блоков.
- Поиск товаров и путь к покупке должны оставаться понятными от небольших мобильных экранов до широких десктопных макетов.
- Проверки производительности и доступности Lighthouse должны быть пройдены, включая контроль LCP и других метрик загрузки и рендеринга.
- Текст, элементы управления, иконки и состояния фокуса должны сохранять достаточный контраст для слабовидящих пользователей.
- Настройки редактора темы должны быть локализованы и понятны продавцам на каждом поддерживаемом языке.
Архитектура и решения
Шаблоны Liquid формируют серверную структуру витрины. 63 файла в sections/ задают переиспользуемые модули страниц, которые может настраивать продавец, а 154 файла в blocks/ предоставляют более компактные строительные блоки для композиции интерфейса. Вместе эти 217 компонентов покрывают сценарии коммерции, контента, навигации и мерчандайзинга.
Схемы секций определяют контент, который может настраивать продавец, CSS отвечает за общую сетку и визуальные токены, а TypeScript используется только для точечных улучшений, которым действительно нужно поведение в браузере.
Общие сниппеты, схемы, токены и паттерны взаимодействия сохраняют согласованность большой библиотеки, не привязывая оба пресета к одному визуальному направлению. Код секций расположен рядом со стилями и конфигурацией. Vite подготавливает локальные ресурсы, а итоговая тема остаётся совместимой с моделью рендеринга Shopify. Прогрессивное улучшение сохраняет навигацию, ссылки на товары и основной контент доступными до запуска необязательных скриптов.
В схемах редактора используются понятные названия настроек и структурированные группы, а переведённые подписи и подсказки хранятся в locale-файлах. Это сохраняет гибкость Bricks и Tiles, не усложняя настройку темы.
Адаптивность и производительность
Сетки, типографика, отступы, медиа, навигация, фильтры, формы товара и взаимодействия с корзиной адаптируются под разные размеры экрана. Адаптивная загрузка изображений и заранее зарезервированное место под медиа сокращают лишнюю передачу данных и сдвиги макета, а критические сценарии витрины не зависят от тяжёлых клиентских скриптов.
Производительность проверялась в Lighthouse, включая LCP и другие показатели загрузки, интерактивности и рендеринга, влияющие на работу витрины. Мобильная версия была самостоятельным требованием релиза, а не упрощённой копией десктопного макета.
Взаимодействие и доступность
Основой остаются нативные элементы управления и ссылки. Меню сообщают о своём состоянии, фокус остаётся видимым, а информация о товаре не зависит только от наведения. На мобильных устройствах порядок чтения контента не меняется ради визуальной перестановки.
Контраст проверялся для текста, элементов управления, границ, иконок и интерактивных состояний, чтобы интерфейс оставался доступным для слабовидящих пользователей. В проверку доступности также входили клавиатурная навигация, семантическая структура, альтернативный текст, размеры сенсорных целей и хорошо заметный фокус.
Настройки редактора темы локализованы: продавцы могут настраивать секции и блоки на поддерживаемых языках без непереведённых названий и подсказок.
Проверка качества
Релиз тестировался по требованиям Shopify Theme Store: адаптивные макеты, браузерное поведение, функциональность витрины, доступность и производительность Lighthouse. Найденные во время проверок проблемы исправлялись и повторно тестировались до отправки темы.
Тема прошла обязательные проверки Shopify и была одобрена для публикации в официальном Theme Store.
Результат
Готовая тема, библиотека из 217 компонентов и оба адаптивных пресета прошли проверку Shopify. Bricks и Tiles опубликованы в официальном Shopify Theme Store: они используют общую техническую основу, но предлагают продавцам два заметно разных направления витрины.
Главный вывод
Гибкость темы работает лучше, когда варианты настройки продуманы заранее. Небольшой, хорошо документированный набор секций понятнее продавцам и легче тестируется разработчиками, чем неограниченная коллекция разовых решений.
Визуальная галерея
Результаты
- Published
- Официальный Shopify Theme Store
- 2
- Пресеты Bricks и Tiles
- 200+
- 217 всего: 63 секции · 154 блока
- Passed
- Производительность, доступность и локализация
Обсудим проект
Давайте создадим что-то вместе.
Есть проект или просто хотите познакомиться? Я всегда открыт хорошему разговору.
Обсудить проект
