Svelte
A compiler-based UI framework that produces tiny, fast apps with no runtime framework. Svelte compiles components to vanilla JS at build time, unlike React/Vue which ship a runtime. Svelte 5 (runes) adds fine-grained reactivity. Smallest bundles, simplest syntax.
- Performance-critical apps with small bundles.
- Simple, fast SPAs.
- SvelteKit full-stack apps.
- Large ecosystem needs (React has more).
- Teams already invested in React/Vue.
Definition
Svelte is a UI framework that compiles components to efficient vanilla JS at build time — no virtual DOM, no runtime. Reactivity is built into the language ($state runes in Svelte 5). Single-file components (.svelte). SvelteKit is the full-stack meta-framework.
Why it exists
React and Vue ship a runtime framework to every user. Svelte compiles to vanilla JS, producing smaller, faster apps with simpler reactive syntax.
How it works
Write .svelte files (markup + script + style). The Svelte compiler generates vanilla JS that directly manipulates the DOM. Reactivity is compile-time (assignments trigger updates). SvelteKit adds routing, SSR, and build tooling.
Scaling limits
Smallest ecosystem of the big three. Fewer libraries and components. Hiring pool is smaller. Some patterns need escape hatches.
Cost shape
Free and open source.
Alternatives
- React — Bigger ecosystem, runtime overhead.
- Vue — Similar template syntax, runtime reactivity.
Failure modes
- Small ecosystem.
- Svelte 5 runes migration.
- Fewer third-party components.