My pals in BBC World Service have been doing some awesome work on “lite” versions of their news articles (other page types to follow). They essentially skip the Server-Side React hydration which means you end up with a simpler HTML+CSS page, no JS. Page sizes drop significantly:
- Transferred: ~600KB -> 30KB
- Total: 1.65MB -> 135KB
Just append
.lite
on a URL e.g. https://www.bbc.com/mundo/articles/crgyyvdz1dro.lite There’s no on/off UX at the moment but they’re working on that too. #WebDev #WebPerf #WebPerformance #BBC
It’s great to see some progressive web developments after all these years of regressive trash
On first impression I think I might ideally have used a query parameter instead, leaving the URL path unmodified. I think that might work better for search engines, archivers, and link aggregators like Lemmy. But no one seems to do it that way, and front-end isn’t my bag, so what do I know.
Skipping React hydration… so, only rendering on the server? BBC just re-invented server-side rendering, bravo 👏😆
I say this as an 8-year React developer. Damn, our industry really drank the kool-aid on on this one. Of course, plenty of people have been saying that React for static content like this has always been a misapplication of the tool, I’ve been reading opinions like that the entire time I’ve been working with it.
I’m glad BBC is doing this, though. Legitimate kudos to them for recognizing the issue and working towards fixing it. I actually think there are some great benefits that React has given us:
- A universal component interface for all JavaScript-targeting languages
- An enormous ecosystem of components
- Popularization of the “component model”, which has spread to basically every other language that is used to render user interfaces (the mental model is just that much better)
- A quickly-evolving (React is arguably on its third major paradigm shift) testbed for what works best for UI development
I would be happy if React was supplanted in the near future, but I also have some fondness for it. I know I’m way off topic on this post, just felt like talking about React.
Nice, but it is not entirely without JS. There is a tracking script from scorecardresearch.com
Tracking scripts degrade gracefully, so you can disable JS, and the page should still work just fine.