Qwik — The JS Framework to Rule Them All?

Guy Erez
4 min readSep 28, 2022
Yet another cat photo — from the official site — https://qwik.builder.io/

Brought to us by the inventor of AngularJS (and a few of his friends),
Qwik seems to be the O(1) JS framework we were all waiting for.

Now, it’s worth mentioning. Qwik won’t solve all of your problems. if you’re working on a data-intensive application that is only available to authenticated users, you might want to look elsewhere. I might be wrong here, and if I am — definitely let me know :)

But, If you’re trying to make your landing pages, blogs, or your company’s public-facing website blazing fast — you’ve come to the right place. Qwik will help you get a perfect SEO score.

Sounds promising right?
But how does Qwik achieve such amazing performance scores?
Let’s take a deeper look at its features:

#1 Zero Loading

There’s no need for hydration. That means that Qwik handles everything over HTML — once the HTML is loaded, which is pretty fast (one might say O(1) fast) — you’re ready to roll. That means that even on weaker devices & slower networks — the site will be blazing fast.

#2 Resumability

This feature is somewhat related to Zero Loading, but can still stand on its own. Since Qwik serializes everything into HTML — both the framework’s state and the app’s state, it can essentially “resume” execution instantaneously, exactly where the server left off. In contrast to other SSR/SSG frameworks, there’s no need to replay all the application’s logic and download a bunch of JS it’s just there.

Feature #3 — Lazy Loading

This is the crown jewel. That’s the secret sauce behind what makes Qwik so… quick. Zero Loading & Resumability are great, as they depend on serializing everything into HTML. But sometimes you just gotta run some JS. What do we do then?

That’s where Lazy Loading comes to the rescue. Qwik makes lazy loading almost effortless (it pretty much consists of adding a $ sign to a component/listener declaration and you’re good to go)

Essentially, Qwik splits the app’s JS code into tiny chunks (according to how the user defined them, using the aforementioned $ signs). These code chunks

Guy Erez

Software Engineer, Avid learner & Science Enthusiast