Issue #7: Both Sides Now


🎶 I’ve looked at life from both sides now, from win and lose and still somehow, it’s life’s illusions I recall… 🎶

The [opinions] war… the war it never changes. We argue about everything because of differing views on technologies for solving one problem or another, and even on whether to use technologies at all. I try to make this newsletter as balanced as possible, though the very topic of it sets some prerequisites. Today, we’ll dig into the why’s and how’s of a bunch of interesting web development solutions, both old and new, and explore the roots of their dualism. We’ll also look at the people expressing these often polar approaches, as many of them are wise, insightful technology leaders shaping the future of web development for us.

The Good

We talked about the interesting buildless framework Ruck in the previous issue. You know what? This idea has definitely found its niche, as today we’ve got another buildless, Deno-native framework—FullSoak.

All files are served from where they are. No surprises. Still, optimizations such as minification and mangling are supported… FullSoak is Preact… SSR-first & SSR-optimized… The high-level wish is to use as much standard web specs as possible to make up for what’s sacrificed by dropping the build step.

It looks interesting, though the DX, security implications, and production-readiness of such an approach are hard to estimate for now. But tooling fatigue in the industry and recent enhancements to the web platform’s capabilities are clearly creating new trends, especially for simpler and smaller projects. Even in the quite saturated and simplistic ecosystem of static site generators, new names keep popping up regularly (like Publican or Quartz with their minimalist HTML- and Markdown-first approach), meaning there’s still room for innovation and customization.

On the other side of the scales are finely engineered metaframeworks like TanStack Start and Remix (React Router). Even though they’re much more complex, their authors justify their approaches with deep attention to detail and edge cases. Nick Taylor dives into the mechanics of such tools in his “2 Full 2 Stack” live streams (for which I’ve created a whole new section in the Encyclopedia of Metaframeworks). The latest two streams (part one and part two, where he’s joined by Tanner Linsley himself) are dedicated to TanStack Start. This is an insightful, practical test-drive and discussion of all the related technologies and building blocks around this relatively new but already extremely popular metaframework.

Meanwhile, Tiger Abrodi has written an insightful piece on Remix and React Router internals (I need to get used to calling it just React Router, but it’s still a bit confusing to me, so sorry for any ambiguity). This one is really interesting, as React Router has been gaining a lot of traction (again) in the React ecosystem lately (more on that later), and its implementation of metaframework functionality is quite thoughtful and fun (like the useFogOfWarDiscovery hook, for instance). Even though it’s inevitably a bit complex and overwhelming, as are other similar tools, it’s always exciting to look at the building blocks from the inside.

The Bad

React Router v7 is the logical (and official) successor to the recently (and finally) deprecated CRA (Create React App). This deprecation and the following migration recommendations from the React team have caused a bit of drama in the React and metaframework community. This Ryan Carniato thread on Bluesky revealed some harsh grievances and misunderstandings from people interested in the topic. While bare-bones Vite is the obvious choice for scaffolding React apps lately, it wasn’t the direct recommendation, and opinionated third-party tools took its place – something many find unethical and intrusive. React has been a go-to tool for web development for years, so this splash will likely generate waves for quite some time. But I’m genuinely not sure it all makes sense, as React has always been full of opinions and has gone its own way.

Many people feel this and try to balance it with simpler alternatives, like this minimalist experiment from Siddharth Gelera. It uses Nitro to server-render interactive Preact islands in a straightforward way. I love such experiments with Preact, as it’s probably the most flexible React-like tool, and maybe the world would be a bit better if people used it more, at least for their currently-Next.js-based portfolio projects.

But in defiance of this, there are good reasons to use larger frameworks even for solving smaller problems. Scotty Jamison wrote a post on [the Preact-based] DEV.to dedicated to exactly that—“In Defense of Using Large Frameworks for Small Problems”. This makes total sense to me as someone who has tried to go the simplest route and ended up inventing my own wheels and frameworks.

…just because your website is small or mostly static, does not automatically mean going frameworkless is best, despite what the current popular opinion may be saying.

The Noteworthy

The new release of Astro is among the noteworthy updates [as usual, lol]. It’s a minor release, but it brings some significant performance improvements for rendering Astro apps, as well as build times. Other updates are also useful for many of us Astro users and move the framework toward new heights, depending on your use case and platform. Is there anything Astro isn’t capable of? Turns out, Reddit has answers to that. Beyond the obvious humor and sarcasm, we can find some thought-provoking (though obvious) ideas, confirming once again that only the Sith deal in absolutes (or in a single metaframework for everything).

If you’re not a Sith and are curious about different ideas from different parts of the ecosystem, the notes of another recent minor metaframework release (minor refers to “release” here of course) – this time for SolidStart – might be an interesting read for you.

We’ve been working very closely with @tannerlinsley and the Tanstack Start team in ushering the future of Metaframeworks, and I’d almost call it one shared team at this point… These are more than sister projects but part of a unified picture for the future…

It looks like SolidStart now has a dedicated team, and this team shares approaches and tools with the TanStack Start team, specifically on server functions. This kind of collaboration brings new hope to the future of metaframework development.

And while Solid and TanStack folks celebrate collaboration, the Svelte team celebrates finishing their yearly hackathon, SvelteHack. Among the winners are not only metaframework apps but also some innovative uses of Svelte, particularly for 3D and desktop apps. For instance, the winner, Kunkun, is a Tauri-based desktop app that serves as a potential replacement for Spotlight, Raycast, or Alfred on macOS. As I’ve had some issues with Raycast lately, I’m giving it a try now. Even though I’m usually wary of new tools, I’m pretty excited to see what’s possible with modern web technologies.

Speaking of modern web technologies, I (and this newsletter as a consequence) will be taking a week-long break to participate in WebSummit 2025. It’s taking place in Qatar this February, so if your path crosses Doha for any reason and you’d like to chat about metaframeworks and technology in general, give me a shout, and we can hang out together.

When I’m back, I’ll have some cool updates cooking for Metaframeworks Weekly, so don’t wander off for too long. See you soon in the frameworks-driven world.

đź‘‹

Found it useful? Consider subscribing. No hidden catch, no strings attached.