FAQ
Frequently asked questions about the Qwik Astro integration.
What is resumability?
Resumability is “Lazy execution” — the ability to build the “framework state” (component boundaries, etc) on the server, and have it exist on the client without re-executing the framework again.
This is in contrast to most frameworks, which will run the framework twice. Once on the server, and once on the client. (Hydration)
Hydration forces everything to be executed as the user visits the page. By avoiding hydration, we can execute code only when an interaction occurs. When combined with JavaScript Streaming, this results in a massive improvement in user experience.
What is JavaScript Streaming?
JavaScript streaming is Resumability plus the ability to stream the functions into the browser and to buffer them in the cache.
Functions and closures are automatically extracted by the Qwik Optimizer. You can think of it like uploading a video to YouTube — they handle the video streaming and chunking into tiny packets for you automatically.
Where can I find Qwik UI components?
Qwik UI has both a headless library (similar to Radix UI, React Aria) and a styled library using Tailwind CSS (inspired by Shadcn UI).
The philosophy is simple: the components are HTML until your users decide they’re not, building on top of Astro’s opt-in design principle.
Can I use it with React?
Yes! You can use it with React, but keep in mind those components will not get the benefits of JavaScript Streaming. See the JSX Frameworks page.
Can I use it with Qwik City?
No, Qwik City is an alternative meta-framework for Qwik.
Help
If you’re stuck, reach out in the Astro discord or the Qwik discord, which has a dedicated #qwik-astro channel. Problems directly related to the integration can be created as an issue.