Skip to content

Instantly share code, notes, and snippets.

@angryziber
Created May 14, 2024 14:49
Show Gist options
  • Save angryziber/38afd2b2107969a82169b5ed9d4f2e51 to your computer and use it in GitHub Desktop.
Save angryziber/38afd2b2107969a82169b5ed9d4f2e51 to your computer and use it in GitHub Desktop.
My React vs Svelte comparison

React vs Svelte

React Svelte
Since 2011 (before ES6) 2016 (after ES6)
Type Library (slower) Compiler (faster)
Reactivity Hooks, runtime Plain variables, compile-time
Virtual DOM (2 DOMs) Yes No
Performance Mostly ok, DOM diffing, easy to screw up Very fast by default
Memory usage High Low
Bundle size Bigger Smaller (faster to load)
Syntax JSX (JS + XML) Standard HTML, JS, CSS
Component lifecycle Non-obvious (many different hooks) Obvious, follows code
TypeScript support Yes, bigger effort Yes, smaller effort
Scoped CSS No Yes
Animations/transitions No Yes
State/Stores No (many helper libs) Yes
Two-way binding No (boilerplate code) Yes
Async/await Maybe Yes
Server-side rendering Yes (often needed for performance) Yes (not too important)
Integration with plain JS/libs Hard Easy
Documentation Poor/Outdated Good, excellent tutorial
Potential bugs Many, easy to introduce Harder to do incorrect things
Community Bigger Smaller
Learning curve Steep, many things to learn Productive on first day
Productivity Fine 2-3x of React
Developer availability Good, needs experience Better, any developer can learn quickly
Searchable guides/help Often outdated Up-to-date, not much needed
DX Used, because of popularity Most loved framework by developers
Used by Facebook and many others NYT, Spotify, Apple, Yelp, IKEA, many others
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment