CodingAtlaric Dispatch

The end of the framework era, and what comes next

Developers are trading abstractions for primitives. A field report from three continents.

Adrian Volk

Jun 30 · 12 min read

For most of the last decade, building a website meant picking a framework first. React, then Angular, then Vue, then Next.js on top of React — each one a large body of code you inherited before you had written a line of your own. The pitch was that the framework would handle the hard parts, so you could focus on the product.

The pitch worked. It also, quietly, produced a generation of websites that ship megabytes of JavaScript to render a headline. By 2024, a lot of developers had started asking whether the trade was still worth it.

The clearest sign was React itself. Its newest feature, called Server Components, is essentially the framework admitting that shipping so much JavaScript to the browser was a mistake, and asking developers to move a lot of it back to the server. The reaction inside the community was less about the feature and more about the pattern: even the biggest framework in the world was telling people to use less framework.

You can see the same instinct in what's growing. A tiny library called htmx — fourteen kilobytes, roughly the size of one small photo — lets a server send back plain HTML in response to clicks and form submissions. No JavaScript app, no state management, no build step. Its maintainers are open that they are trying to talk developers out of building single-page apps for problems that don't need them. Two years ago it was a curiosity. Now it shows up in job listings.

The other trend is compilers. Frameworks like Svelte, Solid and Astro do their heavy lifting when the site is built, not when the visitor loads it. The result is pages that ship a fraction of the code and load noticeably faster on a phone. What these projects share is a suspicion of the runtime cost that a decade of virtual-DOM frameworks quietly normalised as the price of doing business.

The tools underneath have followed the same drift. Vite has largely replaced the older, slower build system, webpack. Bun and Deno are newer, faster ways to run JavaScript on a server. In Rust, projects called Biome and oxc are eating the old linting tools alive. None of these are frameworks. They are small, sharp, single-purpose tools that combine into whatever shape a team needs.

The counter-argument, made most consistently by the teams building Next.js and Remix, is that primitives don't scale to real product organisations. Someone has to decide how data loading, caching and mutations fit together, and a framework is what happens when a team makes that decision once and lives with it. React's Server Components, for all their friction, are an attempt to make that decision at the platform level so no one has to make it again.

What is ending, then, is not frameworks. What is ending is the assumption that a new project should reach for one on day one. Teams we spoke to in Berlin, São Paulo and Bengaluru described the same drift: start with the web platform, add a router, add a library for fetching data, and stop. The stack is smaller than it was in 2021. It also, quietly, ships faster.