The reasons why you should be looking at Qwik if you care about performant web apps.
There are a few reasons I can think of:
It has never been easier to npm install (or yarn add) your problems away, whether it’s a library to format dates or some animation library.
Third-party scripts like analytics, chat, or whatever your marketing team stuck inside GTM.
First-party code.
But why is it steadily growing? I would say it’s due to product requirements and user expectations for rich interactive experiences. The more features we add, the more code we generate, the more JavaScript we ship.
Furthermore, there is somewhat of a correlation between DX (developer experience) and UX (user experience). To better understand this, we can look at this slide from a recent talk that Shai Reznik (international speaker and Founder of HiRez.io) gave:
The main reason for this is hydration, which is the process of attaching behavior to declarative content to make it interactive.
It’s like playing a video game — you progress on a level and collect loot, but then you accidentally die and have to restart the level from square one.
“Astro Islands represent a leading paradigm shift for frontend web architecture. Astro extracts your UI into smaller, isolated components on the page. Unused JavaScript is replaced with lightweight HTML, guaranteeing faster loads and time-to-interactive (TTI).” —Astro website
This is pretty awesome, as it also allows you to write components in almost any frontend framework you like. You can make an island interactive on a case-by-case basis and with specific directives to control hydration, which they call partial hydration.
The problem is not that there is too much JavaScript; rather, the JavaScript must be eagerly downloaded and executed. (As I’ve mentioned, many existing systems have lazy loading, but only for components not currently in the render tree).
In a nutshell, with hydration we run our code on the server and then on the client. Resumability means running the app once, pausing execution, and then resuming where we left off, just on the client.
It’s kind of like how VMs work. A virtual machine can run an app, say a text editor, on an operating system and then be stopped, moved to another machine, and then resumed.
Resumable frameworks are not new. For almost a decade, Google has been using Wiz (an internal framework at Google), which powers Google Search and Photos. Marko, a framework from eBay, is promising resumability in their next version.
Qwik is made by 3 performance nerds (they said it, not me 😉) that have 4 frontend frameworks under their belt.