I’m very mixed about WASM. It’s clearly a very cool technology, and enables cool things by allowing native performance without needing multi-platform support.
But at the same time, it provides a vector for foreign, non-free software to run on my computer. Every time someone sends me a Google doc blocking printing/copying (on _my_ computer!), it makes me want to join a monastery.
More that browsers have gotten sprouted downwards and obtained all sorts of low level access than older browsers didn't use to have. 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. And by that I mean from scratch, not just piggybacking on Chromium or Gecko.
> 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?
quailfarmer|17 days ago
But at the same time, it provides a vector for foreign, non-free software to run on my computer. Every time someone sends me a Google doc blocking printing/copying (on _my_ computer!), it makes me want to join a monastery.
IshKebab|16 days ago
bossyTeacher|17 days ago
idle_zealot|17 days ago
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?
pjmlp|17 days ago
afavour|17 days ago