Issue #34: Zero
Zero is selected to be a topic as a metaphor for a pivot in the metaframeworks-related discourse in recent years. From being something hip and slick (as opposed to conventional backend-driven full-stack solutions) to getting to be overwhelmingly enterprisey and heavy with further developments. On the other hand, this newsletter holds a sane balance in terms of relation to metaframeworks — neither love nor hate, rather research, with some opinions. Additionally, zero somewhat symbolizes the exhaustion and fatigue accumulated among developers using modern technologies, including metaframeworks — from the actual technological complexity and cross-stack FOMO to annoying proliferation and pressure of AIs of all sorts. From the noble attempts to decrease the number of degrees of freedom through cutting away junk (with projects like e18e) to constant stream of vulnerabilities in the unavoidable supply chain.
Last weekend I had a transforming experience of working with Alpine Linux 3.14 on ISH (an iPad terminal app — don’t ask) — no GUIs, no fancy IDEs (welcome the trinity of nano, vim, and emacs), no AI, not even a glimpse of modern Node or TypeScript. I felt enlightened — like a person teleporting to a quiet, deep Canadian forest after walking several miles through Singapore’s downtown.
Zero is something we need to gravitate towards to avoid being burnt out. And different people and tools approach that differently. Let’s look at these efforts and see for ourselves.
The Good
Ryan Carniato came up with the isomorphic-first approach and architecture, answering some important challenges and biases in the full-stack web development industry. For me personally that was such an insightful bird’s-eye view on the topic that complements the mental model of the different levels of UI rendering in web applications — and having such a mental model is very important for any professional.
Ryan’s point of view is supported by the research (and discussion) from Nadia Makarevich with detailed comparative performance analysis of CSR, SSR, and RSC when used for solving the same problem. While not harshly judging any of the ways, the author objectively (though tangentially) confirms Ryan’s conclusions that can be summarized with the short and wise “it depends”.
All these thoughts and research push readers (intentionally or not — who knows) more and more to comparatively new and flexible solutions like TanStack Start — for instance, as Tessa Mero suggests, as a replacement for ubiquitous Next.js. Meanwhile, the metaframework authors themselves thoughtfully ideate on (our known and loved) directives and platform boundaries.
Other frameworks also seek a way to address common industry (and React’s specifically) problems. Recently reborn Remix does that by diverging from React more and more, as Brendan McLoughlin noticed, while the Svelte team persists with their cybernetical enhancements, releasing another one — granularly addressing optimistic background performance improvements for web app UI loading.
The Bad
Npm ecosystem gets hit tough again with new (have you ever heard about “slopsquatting” for a change?) and new (just boring lame typosquatting this time, meh) vulnerabilities of the same kinds already habitual for developers building webapps compiled to JavaScript. How to protect from all that nightmare we see in dev news each week? Check out the links for specific guidance, or just use Alpine Linux 3.14 on ISH without Internet access, as I do — easy-peasy…
The Noteworthy
Something I personally am excited about lately in the line of ecosystem updates is Analog v2.0 release. Being an Angular fiend for years, I follow the goodies from Brandon Roberts and the team, and there’s a lot to see and explore there — especially for Angular developers, not spoiled with interesting industry innovations. Or with Vite (which is the hero of October, to say the least)…
Nuxt also doesn’t calm down on v4 and proceeds enhancing the toolchain in v4.2.
Astro is in the first rows of innovations too, and you can find a lot of specific details of that in their October’s summary, but mainly — their new minor version 5.15 widening even further the already rich ecosystem integrations.
Another update from the JavaScript/TypeScript world I’m really excited (and surprised) about is Storybook v10 (didn’t we update to v9 just days ago?!) which got lighter, ESM-ier (the ESM-iest, I’d even say) and more developer-friendly (and it is one of my best digital friends in each webdev project already, 100%).
All in all, this fortnight metaframework restaurant delivery compilation turned out to be quite complex and thought-provoking. But even so, while zeroing in on the latest and greatest, we shouldn’t forget to zone out periodically and remember that everything we see on these fancy screens is just zeros and ones, even those wise chatbots making all the boring stuff (and often fun stuff too, let’s face it) for us. Don’t forget to think for yourself, as in our industry there are no right or wrong solutions until they work. So let’s proceed making them do it.
đź‘‹