Последние годы модно строить сайты как приложения: браузер скачивает большую программу на JavaScript, и уже она рисует страницы. Мы сознательно пошли другим путём: сервер отдаёт готовый HTML, а скрипты добавляются точечно, только там, где без них нельзя.
Чем плохо приложение в браузере
Прежде чем покупатель увидит первый товар, его телефон должен скачать мегабайты кода, разобрать его и выполнить. На хорошем ноутбуке это незаметно, на недорогом телефоне в метро — секунды пустого экрана. Поисковый робот видит ту же пустоту, пока не выполнит скрипты, а делает он это неохотно и не всегда.
Такое приложение тянет за собой сотни зависимостей, которые нужно обновлять, и отдельную команду фронтенд-разработчиков. Любая правка витрины — это сборка, тестирование и выкладка. Для интернет-магазина с одним администратором это неподъёмно.
Что делаем мы
Страница — это обычный HTML и CSS, собранные на сервере. Браузер показывает её сразу, как только получил. Кнопки «в корзину», фильтры, подсказки в формах работают через небольшую библиотеку, которая просит у сервера кусок разметки и вставляет его на место. Кода в браузере — десятки килобайт, а не мегабайты.
Интерактивность есть там, где она действительно нужна покупателю. Там, где хватает обычной ссылки или формы, стоит обычная ссылка или форма: они работают везде, включая старые браузеры и режим экономии трафика.
Почему это выгодно владельцу
Меньше кода — меньше того, что может сломаться, и меньше зависимостей, за которыми надо следить. Витрина быстрая на любом устройстве, поисковики видят её целиком, а правки не требуют сборки. Доступность для людей с ограничениями получается почти бесплатно: семантический HTML читается экранными дикторами и управляется с клавиатуры без дополнительных усилий.