Svelte and SvelteKit: Rich Harris's 'compiled away' framework

Svelte 3 (April 2019) and SvelteKit in public beta (October 2021) by Rich Harris: frontend framework compiling to vanilla JS, no virtual DOM, reactivity as language. SvelteKit extends to full-stack SSR/SSG.

Open SourceWebR&D SvelteSvelteKitRich HarrisFrontendCompiledOpen Source

A compiled framework

React, Vue, Angular are runtime frameworks: the browser loads a library (~30-50 KB minified) that then interprets components. Svelte, created by Rich Harris (journalist at New York Times, ex Guardian) in 2016 and reaching version 3 in April 2019, changes approach: the framework is a compiler, the resulting runtime is minimal.

Each .svelte component is compiled to vanilla JavaScript directly manipulating the DOM. No virtual DOM. No reconciler. Per-page bundles of a few KB instead of tens.

MIT licence.

Svelte 3 — reactivity as language

In Svelte 3 reactivity is native syntax:

<script>
  let count = 0;
  $: doubled = count * 2;  // reactive: recomputes when count changes
</script>

<button on:click={() => count++}>
  Clicked {count} — doubled is {doubled}
</button>

The compiler analyses static dependencies and generates minimal update code. Development experience is lighter than React (no hooks, no dependency arrays, no mental re-render tracking).

SvelteKit — full-stack framework

SvelteKit, the full-stack framework for Svelte, is in public beta in October 2021 (version 1.0 December 2022). Brings Svelte beyond the SPA world:

  • File-based routing
  • SSR / SSG / CSR on per-route basis
  • Load functions for data fetching
  • Form actions with progressive enhancement
  • Adapters for deploy on Node, Vercel, Netlify, Cloudflare, static
  • Vite base (after migration from Snowpack/Rollup)

Adoption

Svelte is Top-3 framework for developer satisfaction in State of JS survey from 2019. Broad adoption in:

  • Content-heavy sites
  • Dashboards
  • Mobile PWA
  • Complex SVG animations — Rich Harris comes from data viz

Rich Harris was hired by Vercel in November 2021 to work full-time on Svelte.

Svelte 5 (2024)

Svelte 5 (2024) introduces runes — more explicit reactivity syntax with $state, $derived, $effect — while maintaining the compiled-away philosophy.

In the Italian context

Growing adoption in small Italian teams and freelancers for sites with optimal exposure (reduced bundle, high Lighthouse performance).


References: Svelte 3 (April 2019), SvelteKit public beta (October 2021) → 1.0 (December 2022). Rich Harris, Vercel (from November 2021). MIT licence. Vite base. Svelte 5 (2024) with runes.

Need support? Under attack? Service Status
Need support? Under attack? Service Status