upvote
> I believe this is partially why tools that were meant to just render markup have gotten so complex to build that a small team of devs is not enough to build a modern browser anymore.

Isn't it basically the opposite? The hard parts of the browser are layout, styling, and multimedia stuff that goes into rendering markup compliantly. Then there's the infinite sink of optimization work for a JS engine, the high-level scripting language for that markup. The low level access that something like this emulator use is comparatively easy; a WASM runtime and Canvas blitting pixels from some shared buffer.

Or am I mistaken that a WASM engine is much easier to build than a performant JS engine?

reply
> Or am I mistaken that a WASM engine is much easier to build than a performant JS engine?

Absolutely. It's very limited, and designed for purpose, rather than somewhat by mistake (like JS): https://github.com/sunfishcode/wasm-reference-manual/blob/ma...

reply