Удаление и прекращение поддержки новых функций в Chrome

Узнайте, как Chrome удаляет функции, которые работают некорректно, сводя к минимуму неудобства для конечных пользователей и разработчиков.

Chrome постоянно добавляет новые функции и возможности, но иногда некоторые функции приходится удалять.

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

Удаление функций браузера

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

Устаревание и удаление

Процесс удаления функции из Chrome состоит из двух основных этапов:

Веб-браузеры на основе Chromium , такие как Chrome, используют механизм рендеринга Blink для преобразования кода и ресурсов в веб-страницы, которые можно просматривать и с которыми можно взаимодействовать. Когда инженеры хотят внести изменения в Blink, они отправляют сообщения в список рассылки blink-dev, чтобы получить разрешение на продолжение работы. Эти сообщения в списке рассылки называются Blink Intents.

Когда инженеры намереваются объявить о прекращении поддержки, а затем удалить функцию из Blink, они публикуют сообщение о намерении объявить о прекращении поддержки в списке рассылки blink-dev , а затем сообщение о намерении удалить. Эти два сообщения часто объединяются в одно: « Намерение объявить о прекращении поддержки» и «Намерение удалить» .

Намерение обесценить

Сообщение «Intent to Deprecate» (Намерение отказаться от использования) публикуется инженерами Blink, когда они хотят предупредить разработчиков о планируемом удалении той или иной функции браузера. На данный момент функция останется доступной, но разработчикам будет предоставляться поддержка и информация через Chrome DevTools, а также в сообщениях блога , на chromestatus.com и в документации по функции на MDN и в других источниках.

Пример: Намерение устареть: События мутации

Намерение удалить

Сообщение «Намерение удалить» (Intent to Remove) публикуется, когда инженеры Blink намереваются деактивировать функцию и удалить соответствующий код. Часто «Намерение удалить» объединяется с «Намерением устареть» (Intent to Deprecate), образуя «Намерение устареть и удалить» (Intent to Deprecate and Remove).

Пример: Намерение объявить о прекращении поддержки и удалении: Web SQL

Свести к минимуму неудобства для пользователей и разработчиков.

Chrome по возможности избегает удаления некоторых функций.

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

Помимо сообщений в списке рассылки blink-dev , информация об устаревших функциях публикуется в блоге разработчиков Chrome . Предупреждения и информация о поддержке также предоставляются в инструментах разработчика Chrome и в документации по функциям. Сроки обновления информации об устаревших функциях также публикуются в записи на chromestatus.com .

Временно включить устаревшую функцию.

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

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

Примите меры

Разработчику необходимо быть готовым к изменениям веб-платформы.

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

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

Узнать больше