60 FPS on the mobile web
Michael Johnston:
You cannot build a 60fps scrolling list view with DOM.
The Flipboard team have gone to great lengths to get the performance they want from the browser.
Everything is rendered to canvas
elements. They’ve created their own representation of elements which they pool aggressively to avoid GC hits.
This is another place where React’s virtual DOM comes into its own. Flipboard use React to render to canvas
elements. They’ve wrapped this up into react-canvas.
This is an extreme approach but the app feels slick because of it.