eventos de desplazamiento: requestAnimationFrame VS requestIdleCallback VS oyentes de eventos pasivos

Como sabemos, a menudo se recomienda eliminar los oyentes de desplazamiento para que UX sea mejor cuando el usuario se desplaza.

Sin embargo, a menudo he encontradobibliotecas yartículos donde personas influyentes como Paul Lewis recomiendan usarrequestAnimationFrame. Sin embargo, a medida que la plataforma web progresa rápidamente, podría ser posible que algunos consejos sean obsoletos con el tiempo.

El problema que veo es que hay casos de uso muy diferentes para manejar eventos de desplazamiento, como construir un sitio web de paralaje o manejar desplazamiento y paginación infinitos.

Veo 3 herramientas principales que pueden marcar la diferencia en términos de UX:

requestAnimationFramerequestIdleCallbackOyentes de eventos pasivos

Entonces, me gustaría saber, por caso de uso (solo tengo 2, pero puedes encontrar otros), ¿qué tipo de herramienta debo usar en este momento para tener una muy buena experiencia de desplazamiento?

Para ser más precisos, mi pregunta principal estaría más relacionada con infinitas vistas de desplazamiento y paginación (que generalmente no tienen que activar animaciones visuales, pero queremos una buena experiencia de desplazamiento), ¿es mejor reemplazarrequestAnimationFrame con una combinación derequestIdleCallback + controlador de eventos de desplazamiento pasivo? También me pregunto cuándo tiene sentido usarrequestIdleCallback por llamar a una API o manejar la respuesta de la API para permitir que el desplazamiento funcione mejor, o es algo que el navegador ya puede manejar por nosotros?

Respuestas a la pregunta(1)

Su respuesta a la pregunta