User Avatar

Working in tech and learning to become a writer of ✨words✨ Software development, food, video games with an artisanal dusting of sarcasm.

Can WebAssembly replace Web Browsers for the next generation of jaw-dropping web apps?

If you think about it, web browsers have lots of built-in features that a self-contained WebAssembly experience doesn’t require:

  • HTML is only used for meta data in <head>, a <script> tag acting as entry-point and a full-screen <canvas> tag as render target

  • CSS is only used for styling the <canvas>

  • Even JavaScript is only going to be used for the glue layer: Loading the Wasm binary and rendering its output to a full-screen <canvas> tag

Can we build something radically simpler than a web browser to run WebAssembly apps?

A Series Of Broken Promises

Browser Wasm apps have one big problem: Missing low-level platform APIs.

  • Persistent storage: I don’t see this happening on the web. When I recently tweeted about the sorry state of the File System API, I was surprised how many others had their fingers crossed like I did. Hugs to browser self-help Twitter 🖤

  • Low-level GPU access: WebGPU is on the horizon, but since it’s a web standard, it’ll take years to become real. WebGL2 has been in Chrome since 2017 and only arrived in Safari in late 2021.

These are just 2 examples preventing us from creating the next generation of mind-blowing web apps.

I ❤️ Web Browsers

But, god damn it, we could move so much faster.

See, web browsers are amazing feats of engineering, definitely among the most complex software mankind has ever produced. But the market has stagnated to only two big players: Blink and Safari. The only “innovation” happening is slapping cryptocurrencies on the thing.

Why aren’t we doing something useful instead?

Flash, the OnlyFans of web application runtimes

Can we, the community, with its brilliant, independent, individual open-source developers basically start fucking around with an alternative Wasm runtime?

Can we decide and build our own future?

I, for one, am tired of waiting.