The tyranny of single page apps

speckx1 pts0 comments

The tyranny of single page apps | A Bi Disaster

The tyranny of single page apps

16 May, 2026

There is no such thing as front-end engineer anymore. We are all single page app<br>developers. And are you even a single page app developer if you don't know<br>React? As someone who has over 10 years of experience in a non-React framework,<br>I can confidently give that a no1.

Full disclosure: I'm just a little bit of a lefty.<br>But honestly, I don't think you really need to be a hardcore lefty to see that<br>technocapitalism has become a major problem of our time. Being against tech<br>monopolies is now the moderate position.

So what exactly is a single-page app? The blog you are reading at the moment is<br>an example of a multi-page app. You click on a link, and that link takes you to<br>another webpage. The browser fires off a request and does a full reload so<br>you're looking at a fresh new page, loading a new set of HTML, JavaScript, and<br>CSS.

I think calling this blog an "app" is a bit of a stretch. It's more of a<br>"webpage". It feels like calling something a "webpage" is antiquated, but<br>there's a lot about Bearblog that's "antiquated". Anyway, I'm going to<br>abbreviate them as MPW.

When I think of an "app", I think of gmail, Reddit, Facebook, GitHub2, and<br>other big web apps.

When you're using Facebook and you click on a post, you aren't actually going to<br>a separate page. A complex set of JavaScript intercepts that click, and tricks<br>you into thinking you've gone to a new page. But you haven't. The browser just<br>shows you at a new URL and loads a little bit more JavaScript and CSS.

The dark side

The wealth of those societies in which the technofeudalist mode of production<br>prevails, presents itself as “an immense accumulation of memes”.

- Karl Marx probably

If you're not a front-end engineer, this probably sounds like an abstract idea<br>that's meaningless to you. Why should you care about highly-technical models of<br>making apps? Ultimately, I think it's not a coincidence that the premier<br>framework for building front-end apps was written by the biggest social media<br>company in the world.

Let's think of the value proposition of SPAs. Here's the tradeoff: SPAs have a<br>very high up-front cost, but they're faster for future navigations. At least<br>that's the theory. My experience has been that SPAs usually end up being bloated<br>in general whether you're on the first page load or the 30th.

Regardless, the up-front cost is real. As someone who has put quite a lot of<br>effort into improving the up-front performance of a SPA, I can attest to how<br>hard it is to solve this. But don't take my word for it. Just Facebook's login<br>page3 loads 3.8MB of CSS, and you can verify this in Chrome's dev<br>tools4.

Again, what does this mean for you as a user? Well, speed is a feature, and it<br>has a lot bigger impact on your usage of apps than you might expect. A lot of<br>times non-technical people just look at improving performance as just being a<br>bunch of engineers geeking out without concern for the end user experience. But<br>there's plenty of research out there showing that an improvement of even 100ms<br>makes users more likely to use given app.

So if you're on Facebook, there's a much lower cost to scrolling down a few more<br>posts than there is to switching to say Reddit. SPAs are designed to lock you<br>in . They're really not very efficient at all in general anyway.

By the time you've visited Reddit5 and click on a few posts, you've<br>downloaded 33MB of stuff altogether. The bandwidth for all of those image posts<br>and avatars you mindlessly scroll by really starts to add up. Here on Bearblog,<br>you'd have to go through a lot of posts and blogs to even approach 1MB.

A vent about complexity<br>Once upon a time, programmers coded entirely in assembly, writing code<br>instruction by instruction. Then one day, a thing called a "programming<br>language"6 was invented, and developers rejoiced. But I'm sure that at<br>this time, the people who had previously been writing ones and zeroes years ago<br>started to complain about all this complexity new newfangled tools were adding<br>and how we should just get back to simpler times.

Senior developers complaining about new tooling being created and wishing<br>nostalgically for the way it used to be is a tale as old as time. But I think<br>there are very real reasons to complain here though. So let me pull out my inner<br>old fogey and complain about the whippersnappers.

How exactly do you get a single-page app set up these days? Well, you're already<br>planning on using React because why aren't you? Nobody got fired for choosing<br>React. Just think about the bus factor!

And of course if you're using React, obviously you want to use Tailwind CSS,<br>right? Ok, you can certainly choose to use SASS or LESS if you seriously want<br>to, but CSS post processors are all the rage these days.

And unless you plan on writing a bunch of components by hand, you've got to use<br>a UI library. But which one? You've got 20 to choose from. Sorry, but you're on<br>your own on that...

page think single apps front react

Related Articles