Is virtual scroll always the answer for long lists? Discover a powerful alternative using IntersectionObserver for smoother, faster UIs.
#1about 5 minutes
The performance cost of re-rendering long lists
Rendering thousands of items naively causes significant JavaScript and layout overhead, leading to an unresponsive UI during re-renders.
#2about 4 minutes
Exploring common patterns for handling long lists
Websites like Google use traditional pagination, while others like Facebook and Unsplash use infinite scroll and skeleton loaders to manage large datasets.
#3about 3 minutes
How virtual scroll works using the windowing technique
Virtual scroll, also known as windowing, creates a smooth user experience by only rendering the items currently visible in the viewport.
#4about 5 minutes
Considering the limitations of virtual scroll libraries
Before choosing a library, consider its limitations regarding scroll restoration, deep linking, dynamic heights, and window-level scrolling.
#5about 5 minutes
The technical implementation of a virtual scroll component
Implementing virtual scroll requires calculating the total container height and the position of visible items, which is complicated by dynamic row heights.
#6about 4 minutes
Using skeleton loaders and the Intersection Observer API
The Intersection Observer API enables an alternative approach where lightweight skeleton placeholders are replaced with full content as they enter the viewport.
#7about 4 minutes
Best practices for optimizing scrolling performance
Improve scrolling smoothness by throttling scroll events, tuning the render-ahead buffer, minimizing re-renders, and simplifying complex list items.
#8about 13 minutes
Q&A on pagination, tables, and implementation details
The speaker addresses when to choose pagination over virtual scroll and how to apply these performance techniques to tables and tree structures.
Related jobs
Jobs that call for the skills explored in this talk.
The HTML Elements That You’re Probably Over-EngineeringAs frameworks have become more and more commonplace in the world of web development, so too has the over-engineering of features made possible by our humble old friend, HTML.
The mental models that come with using state management in React, Vue and o...
Chris Heilmann
Building a "shoutout" component in plain HTML/CSS/JavaScriptEvery Wednesday we meet at noon to talk about a lot of tech news, tools and resources in something we call WeAreDevelopers Live . We go live on YouTube and afterwards we cut out short videos to post on social media. What we needed was an obvious “sho...
Daniel Cranney
3 JavaScript-Free Techniques for Accordions, Dialogs, and Table of ContentsIf you’ve ever read the WeAreDevelopers Magazine before, you’ll know we love showing developers how to take advantage of native platform features and avoid over-engineering UI’s with frameworks or pre-built components.
So, when we came across Théodor...
Daniel Cranney
View Transition API: Adding Single-Page Transitions With Just HTML, CSS and JSOver the past few years, you’ve likely noticed an increase in websites and applications featuring transitions that take place as you change page.
Perhaps it’s a simple crossfade between the current page and another when clicking a navigation item, or...
From learning to earning
Jobs that call for the skills explored in this talk.