Loving how this perf tool we're making is coming along
Most tools show what *could* improve, but poorly quantify what will make a real difference
Spoiler alert: excessive JS is more of an issue than you think
More examples and how it works in 🧵:
How does it work? We ingest the page, modify the code, and then run the new page through @____lighthouse to test the impact of each possible optimization
We are seeing the same clear patterns among sites large and small: loading up your site with JS is crushing your performance
So what do you do about it? You need to free yourself from this heavy JS dependency
Partytown: moves third party scripts to a web worker
Qwik: removes all first party JS until absolutely needed
Results are exactly as hoped:
@QwikDev Oh yeah, and @builderio is fully optimized for both, letting you make insanely fast web content with our without code
Also worth noting: it was clear that we can get a 90+ score on virtually any site by optimizing just those 3 buckets
- Images (use next gen compression, correct sizing/srcset/etc)
- CSS (remove unused, use font-display, etc)
- JS (remove as much as possible for page load)
In our research, we would consider the images and CSS optimizations largely solved problems.
There are good off the shelf solutions for making sure you have modularized CSS and compressed/sized/lazy images.
But the JS problem is the most impactful has been the most unsolved
I think the reason why JS is hard is that it is a "death by a thousand cuts"
All sites start small and fast, but as you add components, business logic, 3rd party scripts, it cuts you down.
Lazy loading is not enough
Conventional advice stops working at a certain scale, but business needs don't stop
That's why we only believe in solutions that scale
@QwikDev remains equally fast regardless of how complex your site becomes
And Partytown can offload as many 3P scripts you need to a worker
@QwikDev If you made it this far, thank you for attending my ted talk lol
• • •
Missing some Tweet in this thread? You can try to
force a refresh
I've been digging into React Server Components via @ShopifyDevs Hydrogen, and I'm very impressed & excited
Here is a visual explanation of my understanding of RSC and what it means for you 🧵:
First, how do you author server components?
In short, they are just React components! With all the latest goodies of concurrent mode, such as elegantly fetching data via hooks
Server components can even fetch private data and are denoted by a file ending in *.server.js
Next, how do you load these components?
For Hydrogen, the top level is always a server component.
But, with some caveats, you can mix server components, client (aka traditional) components, and shared components (components that can render on server OR client), in one tree
Innovation in web performance has been 🔥 lately. Here are the projects you need to watch in 2022: 🧵
for extreme rendering performance, @solid_js is the obvious winner. you cannot beat their combination of crushing benchmarks + having an amazing DX and community
for having a huge community and adoption, @react + @nextjs is still the no brainer. the support, ecosystem, and talent in this community is unbeatable