Google объявил о новом способе запуска JavaScript, который улучшает скорость реагирования веб-страниц, помогая издателям, использующим его, превзойти производительность своих конкурентов по новому основному жизненно важному показателю Интернета.

В объявлении представлен краткий обзор способа повышения производительности веб-страницы.

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

Проблема, которую решает Google

Взаимодействие со следующей отрисовкой (INP) — это метрика, заменяющая задержку первого ввода (FID).

INP планируется запустить в качестве жизненно важного показателя Core Web в марте 2024 года.

Чтобы получить хорошие оценки в ближайшем будущем INP Core Web Vital, веб-страница должна реагировать на каждое возможное взаимодействие с пользователем.

Одной из причин плохих оценок INP является то, что выполнение некоторых JavaScript занимает много времени.

Если выполнение этих сценариев занимает много времени, их называют длинными задачами.

Проблема с длинными задачами в том, что они подобны медленному водителю на дороге, который движется по скоростной полосе, замедляя движение.

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

Пользователь в этом сценарии ждет, пока страница что-то сделает после нажатия кнопки.

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

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

ЧИТАТЬ  Microsoft выпускает заголовки и описания объявлений, созданные с помощью искусственного интеллекта

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

То, что предлагает Google, — это решение этой проблемы, которое заставляет длинную задачу вести себя как медленная машина, которая останавливается на обочине, чтобы пропустить пожарную машину.

Существующие стратегии не работают

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

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

Объяснитель Google говорит, что существующие стратегии приостанавливают длинную задачу, но отправляют ее в конец очереди всех других скриптов, многие из которых могут быть не так важны, как длинная задача.

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

Текущие обходные пути кодирования могут в конечном итоге усугубить ситуацию вместо того, чтобы помочь.

Решение для длинных задач — Scheduler.yield.

Решение проблемы длинных задач — это подход, который Google называет планировщик.доходность.

Scheduler.yield приостанавливает длинную задачу, чтобы перейти к задаче взаимодействия с пользователем, которая может начать выполняться.

После завершения сценария взаимодействия с пользователем длинная задача может перейти в начало очереди и снова начать выполнение.

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

Иллюстрация того, как работает Scheduler.yield

Экспериментальная функция Google ускоряет работу веб-страниц

Пробные версии Scheduler.Yield

Возможность запуска Scheduler.yield доступна начиная с Chrome 115, выпущенного 13 июля.

Google просит добровольцев протестировать новую функцию в «первоначальной пробной версии», чтобы собрать отзывы и понять, как она работает в реальном мире, прежде чем в конечном итоге сделать ее официальной функцией.

ЧИТАТЬ  Появляется загадочный новый Chromebook со встроенной кнопкой Assistant, но я надеюсь, что это на самом деле замаскированная кнопка Google Gemini.

Origin Trial — это возможность поучаствовать в тестировании новой функции (информация об испытаниях происхождения здесь).

В объявлении Google поясняется:

«В постоянных усилиях по созданию новых API, которые помогут веб-разработчикам сделать свои веб-сайты настолько быстрыми, насколько это возможно, команда Chrome в настоящее время запускает пробную версию Scheduler.yield, начиная с версии 115 Chrome.

Scheduler.yield — это предлагаемое новое дополнение к API планировщика, которое обеспечивает более простой и лучший способ вернуть управление основному потоку, чем методы, на которые традиционно полагались».

Одна из потенциальных проблем при запуске Scheduler.yield на работающем сайте заключается в том, что отступать необходимо будет закодировать для браузеров, отличных от Chrome 115, чтобы веб-сайт нормально работал для посетителей сайта, не использующих Chrome 115, которые не поддерживают новую функцию.

Существует также способ запустить его локально для тестирования:

«Если вы хотите поэкспериментировать с Scheduler.yield локально, введите и введите chrome://flags в адресной строке Chrome и выберите «Включить» в раскрывающемся списке в разделе «Экспериментальные функции веб-платформы».

Это сделает Scheduler.yield (и любые другие экспериментальные функции) доступными только в вашем экземпляре Chrome».

Шанс опередить конкурентов

Эта новая функция в настоящее время находится в режиме тестирования.

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

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

Прочтите официальное объявление:

Представляем планировщик.доходность испытание происхождения

Регистрация на пробную версию Scheduler.yield Origin: можно сделать здесь.

ЧИТАТЬ  Яндекс объявляет финансовые результаты за второй квартал 2024 года

Прочтите пояснение об оптимизации для длительных задач:

Оптимизируйте длинные задачи

Посетите страницу GitHub с объяснением API Scheduler.yield:

планировщик.доходность()

Рекомендованное изображение: Shutterstock/Catalyst Labs



Source link