~/talk

macOS Web: Why I moved from React to Svelte

Talkat Svelte Summit Spring 2022 · on Saturday, 2022-04-30· [javascript, frontend-architecture]
slides:none on file

A full web-based macOS UI migrates from React to Svelte and shrinks the app from 146 KB down to 28.5 KB, a >5x reduction. Replacing Snowpack with the wheat bundler cuts many network requests to two and trims ~16 KB; swapping React for Preact saves ~37 KB; removing styled-components for SCSS modules and adding code-splitting drops initial load to ~62 KB. Framer Motion (≈32 KB) is replaced by Svelte motion for smoother dock and window animations, and dependencies fall by ~3.7x.

AI-written summary · about

  1. 0:00Project intro and background
  2. 1:43Initial React challenges
  3. 3:29Switching to Vite and Preact
  4. 4:46Optimizing bundle size
  5. 6:05Goodbye style components
  6. 8:15Code splitting and summary
  7. 9:42Migrating from React to Svelte
  8. 10:56Svelte migration process
  9. 13:19Svelte code benefits
  10. 14:26Svelte motion and animations
  11. 17:10Final results and takeaways
  12. 21:05Conclusion
~/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.