Опубликовано: 21 ноября 2025 г.
Исторически поддержка браузеров на Target.com основывалась в первую очередь на поддержке всех пользователей, совершающих покупки на Target.com. Эта политика меняется в критические моменты, например, при полном прекращении поддержки Internet Explorer или выборе определённой минимальной версии браузера для доступа к важной функции. Это происходит раз в несколько лет по мере необходимости.
Не имея прогрессивной политики в отношении целевых браузеров и функций, Target.com допускал использование современных функций в кодовой базе только с помощью сложных решений, таких как полифиллинг и транспиляция в устаревшие версии JavaScript. Когда группа сообщества WebDX запустила Baseline , заинтересованные стороны Target.com посчитали, что настало время задуматься о поиске более подходящего минимального целевого уровня поддержки.
Благодаря Baseline Target теперь точно знает, какие функции доступны в поддерживаемых браузерах, и может определить более новые функции, которые стали доступны благодаря прогрессивным улучшениям и полифиллам, в качестве возможных резервных вариантов.
Проблема
Десятки инженеров ежедневно добавляют код в Target.com. В обзорах кода часто указывают на функции, которые не работают в поддерживаемых Target.com версиях браузеров, используя ссылку «Can I use» в качестве ресурса. Когда инженеры постоянно получают предложения изменить код, отдав предпочтение устаревшим функциям вместо современных, это приводит к отказу от новых веб-функций. В результате Target возвращается к использованию «старых» рабочих методов, но возможность использовать современные функции откладывается. Использование современных веб-функций часто улучшает взаимодействие с разработчиком и может также улучшить взаимодействие с пользователем за счёт меньшего объёма кода.
Подход к поддержке браузеров на основе данных
У Target.com есть конфигурация Webpack , которая определяет минимально поддерживаемые версии браузеров. Исторически было сложно обосновать увеличение минимально поддерживаемых версий браузеров. По состоянию на начало 2025 года правила были следующими:
- Текущая и две предыдущие версии Chrome, Edge и Firefox.
- Safari 11 и выше.
Safari пользуется большей заботой из-за большого объёма трафика и продаж, которые Target получает от Safari на iOS. Изначально было принято взвешенное решение установить Safari 11 в качестве минимальной версии для разработки. Это решение закрепило Target.com за веб-функциями, которые были доступны до 2017 года.
На первом этапе интеграции Baseline в процесс разработки Target был использован подход, основанный на данных. Проведя исследование, Target обнаружила, что версии Safari с 11 по 14 оказывали крайне незначительное влияние на бизнес — а именно 0,0001% от общего объема продаж на Target.com. Учитывая это, Target осознала, что удаление транспиляции и полифиллов для этих устаревших версий браузера откроет значительные возможности для повышения производительности сайта.
Дополнительные исследования показали, что Safari 15.4 стала первой версией Safari, обеспечившей не менее 0,5% продаж по запросу, и каждая последующая версия Safari 15 оказывала аналогичное влияние. Каждый раз, когда Target проводит A/B-тестирование, изменение 0,5% продаж по запросу очень ценно и позволяет сделать вывод, что минимально поддерживаемая версия Safari должна находиться где-то в пределах версии 15.
Интересная тенденция, выявленная нами в ходе данного исследования, заключается в быстром росте использования устаревшего браузера Safari. По состоянию на сентябрь 2024 года доля Safari 15 в общем объеме продаж на Target.com составляла всего 0,94%. В январе 2025 года она составляла 0,67%, к маю 2025 года снизилась до 0,45%, а к ноябрю 2025 года — 0,32%. Из этого Target сделала вывод, что если определить реальный денежный порог в процентах от объема продаж на сайте, поддержка этих браузеров может быть прекращена автоматически, а следующая основная версия Safari 16 может быть выпущена к концу года.
Прекращение поддержки не означает блокировку неподдерживаемых браузеров — пользователи по-прежнему смогут найти способ совершить покупку, но в некоторых случаях могут столкнуться с ухудшением качества обслуживания. Аналитики, продолжая использовать подход, основанный на данных, после внесения изменений не обнаружили заметного влияния на бизнес-показатели. Target также изучает баннер, отображаемый в неподдерживаемых версиях браузеров, предупреждающий об ухудшении качества обслуживания.
Выбор базовой цели для Target.com
Веб-инженеры Target сформировали рабочую группу Baseline, чтобы объединить эти усилия для использования современных функций и определения текущего целевого показателя поддержки браузеров для реализации политики. Используя инструменты Baseline , они определили минимальный набор браузеров на каждый год. Ближайшим к новой политике Target стал Baseline 2022 :
{
"chrome": "108",
"edge": "108",
"firefox": "108",
"ios": "16",
"safari": "16"
}
Чтобы достичь этого базового уровня, Target необходимо будет скорректировать свою политику использования браузера как минимум до Safari 16 вместо текущей версии 15.4. Это ухудшит качество обслуживания менее чем для 0,5% покупателей, совершивших покупку. Тем не менее, этот процент сокращается, поэтому Target надеется обновить свою официальную политику, привязав её к базовому уровню 2022 к концу 2025 года. Это ставит разработчиков Target.com в положение, когда целевой показатель может отставать примерно на 3 года от ежегодно публикуемого базового уровня.
В целом, пакеты Webpack для Target.com стали меньше благодаря меньшему объёму транспиляции кода и добавлению полифиллов. Target уверена, что со временем эта цель будет меняться, и, как мы надеемся, в следующем году будет принята версия Baseline 2023 , которая включает в себя множество отличных функций, таких как запросы контейнеров , селектор :has , атрибут inert и многое другое.
Рассматриваем новые наборы функций Baseline
Рабочая группа Target Baseline не останавливается на Baseline 2022. Если взглянуть на функции Baseline 2023, можно заметить, что многие из них только начинают реализовываться без резервных копий, таких как полифиллы. Каждая из функций Baseline 2023, интересующая Target, требует от них:
- Опишите, что делает эта функция.
- Опишите, как его использование может улучшить Target.com, включая улучшение опыта разработчиков.
- Найдите хороший тестовый пример для реализации функции в кодовой базе Target.com.
- При необходимости задокументируйте, какие резервные варианты следует использовать, включая прогрессивное улучшение или другие решения, предоставляемые посредством обнаружения функций.
- Наконец, когда можно ожидать одобрения использования функции? Можно ли её использовать сейчас? Или следует дождаться какого-то порогового значения в будущем?
Одним из примеров этого является атрибут inert . Минимальная версия для использования inert в Safari — 15.5, а это значит, что Target.com близок к тому, чтобы использовать его! У Target.com есть множество реализаций модальных элементов, где этот атрибут будет преимуществом по сравнению с текущим решением JavaScript. Написание инженером отчёта об этой функции позволяет обмениваться знаниями и готовиться к следующему смягчению политики браузера. Это помогает доказать, что прекращение поддержки версии браузера, не представляющей большой коммерческой ценности, может разблокировать функции, которые действительно представляют ценность. Функцию можно разработать, проверить и развернуть под флагом функции, и она будет готова к использованию в случае необходимости.
Кроме того, другой инженер будет использовать ту же процедуру для использования контейнерных запросов , которая теперь широко доступна в Baseline. Контейнерные запросы можно использовать с полифиллом, но у последнего есть известные проблемы с производительностью. Решение, предложенное Target, заключалось в том, чтобы использовать контейнерные запросы только в качестве постепенного улучшения, пока минимальные требования браузеров не достигнут уровня, необходимого для полной поддержки этой функции.
Этот процесс хорошо работает для Target.com, поскольку, когда минимальная версия функции становится достаточно используемой, прогрессивное улучшение больше не требуется, и функция может быть использована. В ходе недавнего аудита было обнаружено, что Target.com поставляет так много ненужных полифиллов, что внедрение Baseline в их приложение может помочь контролировать этот технический долг.
Сопоставление базовых концепций с веб-производительностью
Производительность важна для любого розничного сайта. Разработчики Target.com разделяют мнение о том, что JavaScript-код отправляется слишком много. Если бы 5% пакетов JavaScript, отправляемых пользователям, были бы удалены, это было бы большим достижением, но это также не привело бы к значительному улучшению основных веб-показателей Target.com. Однако, если бы Target добился этого 10 раз, размер пакетов уменьшился бы на 50%, что значительно способствовало бы достижению целей Target по производительности.
Что касается подхода Target к Baseline, он позволил инженерам Target.com начать думать об объеме JavaScript, который используется для таких вещей, как модальные окна, потребности в доступности, поповеры, карусели, аккордеоны и другие распространенные проблемы пользовательского опыта. Каждый из них требует полифиллов или пользовательских решений JavaScript, которые способствуют раздуванию JavaScript приложения. Поскольку Target использует Baseline, целевые браузеры со временем развиваются, и политики включения новых функций могут быть смягчены. Target рассчитывает со временем транспилировать меньше кода, меньше функций полифиллов и даже внедрять веб-компоненты, когда появятся возможности. Уделяя внимание полифиллам и целевым браузерам, поставляемым в цепочках инструментов проекта, размер пакета JavaScript Target.com уже был сокращен на 10% . Это до внедрения каких-либо новых функций. Это должно улучшаться из года в год, и это напрямую коррелирует с большими ставками, которые Target делает на улучшение производительности для Target.com.
Еда на вынос
Наличие базового целевого показателя и тщательно подобранных базовых отчётов о новых и широко доступных веб-функциях стало мощным инструментом для Target.com. Вот некоторые ключевые результаты:
- Цель браузера изменилась с поддержки браузеров, выпущенных 8 лет назад, до поддержки браузеров, выпущенных 3 года назад.
- Базовый целевой показатель «Базовый уровень 2022» будет достигнут к концу 2025 года.
- Общий размер пакетов JavaScript Target.com уменьшен на 10%.
- Длинный хвост старых браузеров, обеспечивающих менее 1% бизнеса, сокращается примерно на 300% в год (с 0,94% в сентябре 2024 года до 0,32% в ноябре 2025 года).
Осознание того, что интернет развивается быстрее, чем когда-либо, побудило Target внедрять новые функции как можно быстрее. Организация этих функций позволяет Target работать заблаговременно и планировать запуск каждой из них, а также позволяет доверять своим инженерам, работающим над крупным розничным сайтом, знание того, какие функции и когда использовать.