Опубликовано: 20 мая 2025 г.
Когда функция веб-платформы внедряется во все браузеры, она становится доступной по статусу Baseline Newly. Через 30 месяцев эта функция становится доступной по статусу Baseline Widely, что является пороговым значением, при достижении которого большинство веб-сайтов могут внедрять функции без проблем с совместимостью. В этом руководстве объясняется, как использовать Baseline и, используя данные пользователей вашего веб-сайта, как выбрать целевой базовый уровень.
Что такое базовый целевой показатель?
Базовая цель — это группа веб-функций, которые разработчики могут выбрать для поддержки в зависимости от их базового статуса. Существует два типа базовых целей: подвижные и фиксированные.
Движущиеся цели, такие как «Базовая версия: Широкодоступно» или «Базовая версия: Недавно доступно», — это цели, набор функций которых может меняться со временем. Движущиеся цели целесообразны в случаях, когда требуется, чтобы набор поддерживаемых функций автоматически развивался по мере выхода новых версий браузера.
Фиксированные цели — это цели, набор функций которых не меняется с течением времени. Как правило, фиксированные цели основаны на календарных годах. Например, Baseline 2023 — это фиксированная цель, которая содержит набор веб-функций, которые стали доступны в статусе Baseline Newly в 2023 году. Baseline 2023 не будет включать функции, которые стали доступны после 2023 года, что означает, что набор функций Baseline 2023 никогда не меняется.
Фиксированные цели имеют смысл в тех случаях, когда предсказуемость и детерминизм имеют первостепенное значение, но со временем они могут устареть, поэтому при использовании фиксированных целей рекомендуется регулярно пересматривать их.
Зачем выбирать цель?
Внедрение функций в веб сдерживается проблемами совместимости, и это не позволяет вебу быть настолько хорошим, насколько он мог бы быть. Baseline не только вносит ясность в вопрос поддержки функций в браузерах, но и может помочь определить, когда можно использовать те или иные функции. Выбрав целевой показатель, отражающий вашу аудиторию и требования, вы можете быть уверены в использовании функций в рамках этой целевой группы, без необходимости проверять каждую функцию по отдельности.
Используйте данные для выбора базового целевого показателя
Выбор правильной базовой цели должен, по возможности, основываться на данных. Имея данные перед глазами, выбор цели становится проще и гораздо более обоснованным.
Если у вас есть данные Real User Monitoring для вашего сайта, вы можете узнать, как базовые целевые показатели соотносятся с вашими пользователями. Например, если вы используете Google Analytics, бесплатный способ получить эту информацию — использовать инструмент проверки базовых показателей Google Analytics .
Чтобы использовать его, вам потребуется создать новое исследование в Google Analytics, добавить в отчёт метрики и параметры, а затем экспортировать отчёт в виде TSV-файла. Этот процесс подробно описан в этих инструкциях . После импорта TSV-файла в инструмент проверки вы должны получить следующий результат:

Мы начинаем видеть, как другие инструменты внедряют поддержку Baseline, что позволяет вам динамически оценивать, насколько ваша аудитория поддерживает заданную цель. Например, RUMvision включает панель мониторинга, которая показывает, насколько ваша аудитория поддерживает заданную цель для каждого года действия Baseline.
Что делать, если у моего поставщика аналитики или RUM еще нет отчета по базовым целевым показателям?
Если вы используете аналитический или RUM-инструмент, который пока не предоставляет отчёт по базовым целевым показателям, но содержит данные о версиях браузеров, вы можете объединить свои реальные данные с сопоставлениями версий браузеров из модуля baseline-browser-mapping
. Этот модуль предоставляет функцию Javascript getAllVersions()
, которая сопоставляет браузеры по имени и версии с их базовым годом и статусом поддержки (широкодоступность). Эти сопоставления могут быть предоставлены в виде массивов, ключевых объектов или CSV-файла. Например, Google Analytics Baseline Checker использует этот модуль для объединения аналитических данных с базовыми целевыми показателями .
Результаты этой функции также доступны в виде размещенных JSON- или CSV-файлов , которые обновляются ежедневно. Файл all_versions_with_supports.csv
содержит данные, которые можно сопоставить с данными о версии браузера вашего поставщика аналитики по следующим полям:
-
browser
: имя браузера, используемое вbaseline-browser-mapping
-
version
: версия браузера. Некоторые браузеры используют только основной номер версии, другие — основной и дополнительный . -
year
: набор функций базового года, поддерживаемый этой версией браузера. Если версия браузера была выпущена до того, как поддержка базового года стала возможной в июле 2015 года, это поле будет содержатьpre_baseline
-
supports
: это поле содержитwidely
илиnewly
для версий браузеров, которые поддерживают эти наборы функций, и пусто для версий, которые не поддерживают ни один из этих наборов функций. Все версии браузеров, поддерживающие «ново доступно», также поддерживают «широко доступно». -
release_date
: дата выпуска этой версии браузера, если доступно. -
engine
: название движка для браузеров, работающих ниже основного браузера Baseline. Включены только браузеры на базе Blink, но в будущем могут быть представлены и другие движки. -
engine_version
: версия Chromium, реализуемая в данной версии браузера. Используется для определения того, какой базовый набор функций поддерживает данная версия.
Этот файл часто обновляется по мере выхода новых версий браузеров и изменения статуса поддержки различных браузеров. Обязательно обновляйте данные ежедневно.
Что делать, если у меня нет данных о поддержке от реальных пользователей?
Вы можете столкнуться с ситуацией, когда вам не удастся получить реальные данные о пользователях, когда речь идёт о функциях, относящихся к базовому уровню. Хорошая новость заключается в том, что вы можете получить общее представление о поддержке различных базовых целей с помощью RUM Archive Insights , даже с возможностью фильтрации по странам. Хотя эти данные не будут специфичны для пользователей вашего сайта, это инструмент общего информирования, который демонстрирует, что следующие предположения, как правило, верны:
- Более новые базовые цели, например, текущего или позапрошлого года, вероятно, будут пользоваться наименьшей поддержкой среди ваших пользователей. Однако, как и любые базовые цели, со временем их поддержка будет расти.
- Более ранние базовые цели, особенно базовая широкодоступная, будут хорошо поддерживаться. В случае сомнений, широкодоступная — отличный вариант, который будет меняться по мере развития 30-месячного окна.
- Даже более старые базовые цели — те, которые значительно старше 30-месячного окна «Широкодоступность» — будут иметь наилучшую поддержку. Хотя «Широкодоступность» — хороший вариант по умолчанию, особые случаи использования, требующие строгих соглашений об уровне обслуживания (SLA),
Вероятно, даже если вы выбираете базовую версию, которой больше пяти лет, вы сможете внедрить функции, которые сейчас не используете. В лучшем случае, вы, возможно, уже используете эти функции, но с помощью полифиллов, которые вам, возможно, не нужны .
Как обеспечить соблюдение выбранного базового целевого показателя в моем проекте?
Browserslist — это распространённый метод выбора поддерживаемых браузеров. Он используется в сборщиках и других связанных инструментах, таких как Babel и PostCSS, для определения необходимости преобразования определённых фрагментов кода или даже применения полифиллов.
Теперь можно использовать Baseline с Browserslist, чтобы при выборе цели Baseline можно было указать её как допустимый запрос Browserslist. Это гарантирует, что инструменты в вашем проекте преобразуют код в соответствии с выбранной целью. Подробнее см. в статье «Использование Baseline с Browserslist» .
А как насчет функций, которые не соответствуют моему базовому целевому показателю?
После выбора базового целевого показателя у вас могут быть функции, которые вы хотите использовать, но которые не попадают в этот целевой показатель. Базовый показатель не даёт вам точных указаний относительно того, что именно следует делать, и решение об использовании этих функций зависит от типа создаваемого вами веб-сайта и ожидаемой аудитории.
Например, сайты электронной коммерции или B2B могут быть готовы к более низкому порогу поддержки и решать проблемы по мере поддержки пользователей, в то время как правительственные сайты могут требовать более высокого порога поддержки. Важное практическое правило заключается в том, что не все веб-функции выходят из строя одинаково . Существует множество способов классифицировать функции по характеру их сбоев, но один из способов выделить функции, которые могут быть полезны, выглядит примерно так:
- Улучшение: если функция используется в неподдерживаемом браузере, её работа не нарушается. Возможно, качество работы ухудшится, но это, скорее всего, не будет заметно пользователю. Пример:
loading="lazy"
. - Дополнительный: функция предоставляет некоторые дополнительные преимущества, которые могут быть заметны, например, изменение стиля страницы или некоторых функций. Разница может быть незаметна для пользователей, если функция не поддерживается, за исключением сравнения в браузере, который её поддерживает. Пример: Subgrid
- Критически: Если функция не поддерживается, у пользователя возникнет негативный опыт использования, возможно, даже полная неработоспособность. Пример: API доступа к файловой системе используется как центральная и необходимая функция.
Вы также можете обнаружить, что некоторые функции, не относящиеся к вашей целевой аудитории, поддерживаются лучше, чем вы думаете. Можно узнать, сколько ваших пользователей поддерживают конкретную функцию. Can I Use позволяет проверить поддержку отдельных функций по вашим аналитическим данным. RUMvision также позволяет детализировать и изучать данные на уровне функций, если это вам полезно.
Таким образом, вы можете использовать базовую цель, чтобы сократить количество функций, которые необходимо тщательно продумать. Обо всём, что находится внутри цели, вам не нужно беспокоиться. Если есть одна или две функции вне её, которые были бы особенно полезны, у вас есть инструменты для дальнейшего изучения и решения, использовать ли полифил или использовать в качестве прогрессивного улучшения.
Заключение
У каждого веб-приложения свои требования — от сайта электронной коммерции, который может позволить себе больше проблем с совместимостью, до правительственного сайта, который должен быть доступен и работоспособен для как можно большего числа пользователей. Эти расчёты вам придётся делать самостоятельно, и Baseline не ставит своей целью указывать вам, какие решения принимать при внедрении новых веб-функций, а скорее, как это сделать .