Qwik
By Builder.io
Qwik is a JavaScript web framework built around "resumability" — serializing application state and event-handler wiring directly into HTML so pages become interactive instantly without the usual client-side hydration cost.
Definition
Qwik is a JavaScript web framework built around "resumability" — serializing application state and event-handler wiring directly into HTML so pages become interactive instantly without the usual client-side hydration cost.
Overview
Qwik was created by Miško Hevery, the original creator of AngularJS, working with the Builder.io team, and introduced in the early 2020s to address a persistent problem in modern web frameworks: even when a server renders complete HTML, frameworks like React or Vue still have to re-run JavaScript on the client to "hydrate" the page and attach event listeners before it becomes interactive. Qwik takes a different approach. It serializes component state and event-handler references into the HTML itself, and its small runtime lazily downloads and executes only the specific piece of JavaScript needed for a given interaction — for example, only the code behind a single button — rather than hydrating the whole page up front. This fine-grained lazy loading is enabled by the Qwik Optimizer, a compiler that automatically splits code at every event boundary. Qwik City, its accompanying meta-framework, adds file-based routing and server-side rendering in a way conceptually similar to Next.js or Remix. Qwik sits alongside Astro and SvelteKit in a newer wave of frameworks prioritizing fast Time to Interactive over shipping large client-side JavaScript bundles, and its JSX-based syntax makes it relatively approachable for developers already familiar with React.
Key Features
- Resumability model that serializes state and event listeners into HTML, skipping traditional hydration
- Fine-grained lazy-loading — only the JavaScript needed for a specific interaction is fetched
- Qwik City meta-framework providing file-based routing and SSR/SSG
- Optimizer compiler that automatically splits code at every event boundary
- Near-instant Time to Interactive even on large, complex pages
- JSX-based component syntax familiar to React developers