Today’s issue: Cosplaying as a computer scientist, dying on the hill of static types, and neobrutalizing my React app.
Welcome to #229 – a special “afternoon because we ran a marathon on Saturday and we’re tired” edition.
This conference always gets the best DJs
But I’m happy to report that ViteConf featured a bunch of exciting new announcements for the JavaScript ecosystem, and exactly zero live performances of This Little Piggy Went to the Market 🙏.
For this story, we wanted to focus on the 3 biggest takeaways we had about Vite itself, and we’ll mention some of the other newsworthy parts of the conference in Cool Bits.
Takeaway #1: Vite is still booming. Evan You shared that Vite’s weekly npm downloads have grown 4x in the last year to over 7.2 million, largely thanks to adoption by major projects like Storybook 7, Angular 16, Preact, Redwood 6, Bun 0.7, and Remix (still an early WIP).
Takeaway #2: Vite is aware of its issues. Despite its explosive growth, Evan acknowledged that Vite still has room for improvement in multiple key areas. One of the biggest pain points is its relatively slow production build speed, because it uses Rollup instead of purely native bundlers like esbuild and Bun.
But even though it’s slower, Rollup does provide greater flexibility and maturity than the next-gen bundlers. If only there were a way to get the best of both worlds…
Takeaway #3: Rolldown is the future of Vite. The Vite team is working on a Rust port of Rollup with a slightly larger scope, called Rolldown. It’s still an early WIP, but the goal is to improve Vite performance with Rust, while maintaining “best-effort compatibility” with existing Rollup APIs.
This is a massive undertaking that will take place over many stages, but the final result might be an overall “Rustification” of Vite’s core.
Bottom Line: Vite is on a mission to become “the shared foundation for higher-level innovations in the web ecosystem.” And by continuing to improve upon its weaknesses with innovative solutions, it seems primed to continue its fast growth towards that goal.
Your app trying to run 4 different component libraries
Don’t ask me, ask companies like Sony, Microsoft, and NASA that use them in production.
They understand that paying a little money to save a lot of time is a great deal. And if it’s good enough for the people building rockets, it can probably help you out too.
KendoUI’s premium JavaScript UI libraries come with hundreds of enterprise-quality components that follow best practices for security and performance (unlike that random open-source library you found on Reddit).
Each library is fast, accessible, easy to customize, and written from the ground up for the most popular JS frameworks — like React, Angular, and Vue.
👉 Check out Kendo UI’s free trial to see how productive it can make your team.
They’ll help get your app SOC 2 compliant in weeks instead of months, so you can start selling to big enterprises. Get a personalized demo today.
What does this evaluate to?
Array.from({ length: 26 }, (x, i) => (i + 10).toString(36)).join(", ")
At ViteConf, Stackblitz also announced Native language support for WebContainers, thanks to a full-scale integration of WASI (WebAssembly System Interface). So now, there’s nothing stopping you from building Rust or Python apps directly from your browser (except for the fact that you don’t know Rust or Python).
Marvin Hagemeister wrote another entry in his “Speeding up the JavaScript ecosystem” series about The Barrel File Debacle.
OWL is “the fastest JavaScript library in the world” and combines the best parts of Vue and React by offering class-based components, hooks, and fine-grained reactivity. It was created by Odoo, the suite of open-source business apps, and it just launched its own browser extension for even better DX. Check out the GitHub repo and get ready to hoot away! 🦉 [sponsored]
Zack Radisic wrote an article that teaches you how to Write your own Zod.
pnpm v8.9 just dropped with big perf improvements for MacOS.
Tom Hacohen wrote about why Strong static typing is a hill he’s willing to die on. And that’s typically how most nuanced articles that are willing to engage earnestly with the other side begin.
TypeScript 5.3 just hit beta with new import attributes, stable support for resolution-mode
in import types, and lots of other features you probably won’t notice until you try writing your own Zod.
Product for Engineers is PostHog’s newsletter dedicated to helping engineers improve their product skills. Subscribe for free to get curated advice on building great products, lessons (and mistakes) from building PostHog, deep dives on top startups, and very cute hedgehog illustrations. [sponsored]
Samuel Breznjak created Neobrutalism Components, a collection of type-safe React+Tailwind components. I just hope as it can make my React app’s UI look like the Geisel Library at UCSD.
Jake Lazaraoff wrote An Interactive Intro to CRDTs that will help you feel like a genuine computer scientist (just in time for Halloween).
What does this evaluate to?
Array.from({ length: 26 }, (x, i) => (i + 10).toString(36)).join(", ")
The English alphabet as a string –
a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z