What's stopping WebAssembly from effectively replacing JavaScript?
I've been wondering about this for a while and haven't really found a great answer for it. From what I understand, WASM is:
Faster than JavaScript
Has a smaller file size
Can be compiled to from pretty much any programming language
Can be used outside of the browser easier thanks to WASI
So why aren't most websites starting to try replacing (most) JS with WASM now that it's supported by every major browser? The most compelling argument I heard is that WASM can't manipulate the DOM and a lot of people don't want to deal with gluing JS code to it, but aside from that, is there something I'm missing?
Most games, image processing libraries and other compute demanding libraries already use WASM in the browser. Have been for quite some time. It's already widely used in every case where it provides a substantial benefit.
But writing for GUI, which is what 99% of JS is used for, WASM provides little benefit. The speed bottleneck is mostly in DOM manipulation. And every web GUI framework uses 200 npm packages with something like webpack. Getting that to somehow work with your WASM code would be a nightmare if it's even feasible.