-
extism
The framework for building with WebAssembly (wasm). Easily load wasm modules, move data, call functions, and build extensible apps.
Yep, this is one of the initial motivations for creating Extism: https://github.com/extism/extism -- and it works across 16 host languages & 8 guest languages.
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
shrug It finds its uses. It's just not that overstated.
sandspiel is quite popular and is built using WASM: https://sandspiel.club/
Google Earth - https://blog.chromium.org/2019/06/webassembly-brings-google-...
Ruffle (the "make Flash run safely" tool) - https://ruffle.rs/
Ableton's Learning Synths - https://learningsynths.ableton.com/
etc etc. It's just hard to tell when something is using WASM when it "just works" and is indistinguishable from optimized JavaScript
-
shrug It finds its uses. It's just not that overstated.
sandspiel is quite popular and is built using WASM: https://sandspiel.club/
Google Earth - https://blog.chromium.org/2019/06/webassembly-brings-google-...
Ruffle (the "make Flash run safely" tool) - https://ruffle.rs/
Ableton's Learning Synths - https://learningsynths.ableton.com/
etc etc. It's just hard to tell when something is using WASM when it "just works" and is indistinguishable from optimized JavaScript
-
There are a lot of projects around WebAssembly. But technology is hidden from external view. (Some self promotion, I am creating https://exaequos.com, a new Unix like OS running in a web browser)
-
I'm developing a wasm game, and currently I am targeting WebGL2 in order to run in iOS Safari.
Me (and others, I'm sure) are currently waiting for WebGPU [1] to land in Safari so it will make sense to target it.
WebGPU allows for simplified porting of desktop apps to the web, such as WGSL shaders [2]
WebGPU will be the next big thing, and currently it is enabled on Chrome Windows/macOS, and can be enabled in Firefox Nightly with a config setting.
Hopefully, 2024 will be the year of WebGPU!
1: https://caniuse.com/?search=webgpu
2: https://www.w3.org/TR/WGSL/
-
8MB seems high for Rust. Even the project I did [1] which was using D (with GC) ended up with an 8MB WASM. Rust's WASM target is much more exercised than D's, so I think you might need to tweak some compile options.
[1] https://github.com/speps/tt
-
That's possible. I did spend quite a bit of time tinkering with compiler flags, and followed the recommendations.
Some notes I found just now seems to agree with my results, though: https://github.com/bevyengine/bevy/issues/3978#issuecomment-...
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
Some things that might greatly increase wasm usage and overall tooling:
1) Tools that run docker containers and serverless function services (like AWS lambda) to support providing a .wasm files instead
2) Garbage collection in the runtime to make GC languages easier to port to wasm
3) Dynamically typed languages (NodeJS, Python, Ruby) being able to compile to webassembly directly instead of porting the runtime to webassembly and then running the code through the runtime. This is a big ask though, basically needs to redesign the runtime completely
4) wasm-DOM bindings will enable other languages to do HTML rendering which will require new web frameworks for every language that wants to take over the space from JS. This will lead to (even more) fragmentation of the web ecosystem
5) A new wasm-first SDK (unrelated to the DOM) for building cross platform applications. I can see this taking off only if it is built-into the browsers and backed by some standards committee, so not very likely I think
6) Something like the Interface Types proposal ( https://github.com/WebAssembly/interface-types/blob/main/pro... ) becomes a thing allowing wasm programs to be consisted of modules written in several different languages and being able to call said modules with low or 0 runtime performance hit (and of course, no compilation to multiple CPU archs). So much of programming ecosystems are locked to specific languages (like data science with python) when there is little technical reason for it be like that.
Related posts
-
A minimal working Rust / SDL2 / WASM browser game
-
What is a really cool thing you would want to write in Rust but don't have enough time, energy or bravery for?
-
Rust and web assembly - noob question
-
I Wrote a WebAssembly VM in C
-
Portal Explorer – web visualization of mind-blowing portals using ray-tracing