This is the part about the "wasm won't replace JavaScript" argument I see being slept on and why I am so disheartened about how practically no progress has been made on it.
Most trivial apps don't need to be optimized, and for them, JavaScript is fine.
But for complex interactive web applications - it really fuggin matters.
Think;
- vscode
- facebook
- jira
- linkedin
- reddit
There's no reason these applications should be slow, single threaded, and consume gigabytes of memory - but that's a limitation of the technology.
I know first hand that Atlassian has spent millions of dollars building bundlers in different forms just to save a few milliseconds of load time.
Just let me write the front end in Rust and if the browser detects that no JavaScript is running - don't start a JavaScript engine.
While you're at it, improve the SharedWorker story so I can effectively share data between tabs (enables cross tab sync, great for chat apps and local caching). I recently tried to make an offline-only application with a wasm-based sqlite implementation in a SharedWorker and the API just doesn't work.
Most trivial apps don't need to be optimized, and for them, JavaScript is fine.
But for complex interactive web applications - it really fuggin matters.
Think; - vscode
- facebook
- jira
- linkedin
- reddit
There's no reason these applications should be slow, single threaded, and consume gigabytes of memory - but that's a limitation of the technology.
I know first hand that Atlassian has spent millions of dollars building bundlers in different forms just to save a few milliseconds of load time.
Just let me write the front end in Rust and if the browser detects that no JavaScript is running - don't start a JavaScript engine.
While you're at it, improve the SharedWorker story so I can effectively share data between tabs (enables cross tab sync, great for chat apps and local caching). I recently tried to make an offline-only application with a wasm-based sqlite implementation in a SharedWorker and the API just doesn't work.