~/talk

A DIY guide to building your own Rendering Engine

Talkat JSDay 2019 · 2019-05-08..05-09· [frontend-architecture, web-performance]
slides:none on file

Builds a frameworkless rendering engine that prints a to‑do MVC, uses faker.js for data, Jest for unit tests and puppeteer + stats.js for perf checks, and moves a problematic infinite‑scroll list from ~15 fps to ~60 fps in production. Iterations show cloning a stamped DOM node, using requestAnimationFrame, a small component registry with data-component selectors, and a tiny virtual DOM diff/patch that replaces only changed nodes; claims an ~80‑line Redux clone is possible and the approach works in real apps.

AI-written summary · about

  1. 0:00Intro
  2. 0:32Francesco Strazzullo
  3. 0:55About FlowingFlow
  4. 1:49The point
  5. 1:59The story
  6. 3:06First problem
  7. 4:49Spaghetti code
  8. 5:33Panic
  9. 6:03Never manipulate the DOM
  10. 6:50Manipulation is art
  11. 7:03Should not be an alibi
  12. 7:18Own rendering code
  13. 8:20Lets start
  14. 8:53Architecture
  15. 11:15Simple Architecture
  16. 13:07Optimization
  17. 13:26Performance
  18. 13:58Measure
  19. 14:16Measure Performance
  20. 15:07Eat the Frog
  21. 16:26Demo
  22. 17:12Coding
  23. 17:45GetToDo
  24. 18:34RequestAnimationFrame
  25. 20:14View
  26. 24:53Testing
  27. 27:17Component Overview
  28. 28:31Component Registry
  29. 29:37Component Registry Code
  30. 30:47Recursive Component
  31. 32:40Yacht
  32. 33:17Connected component
  33. 34:01Dynamic data
  34. 35:10Apply if algorithm
  35. 35:45Apply if parameters
  36. 37:12Virtual DOM
  37. 37:42Whats next
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.