Hacker News new | ask | show | jobs
by DanielHB 23 hours ago
Use cases I am more excited about:

1) Replace webhooks in web apps with wasm binaries provided by the customer, but that run in the web app servers.

2) Safer plugin system for professional software (plugins for photoshop, plugins for IDEs, etc)

3) Safer mod system for games and server-side mods that run on the game-maker server.

3 comments

We had that in the 90's with Java. Why would this approach succeed today?
WASM sandbox is miles better than the JVM

WASI is a standard on where to poke holes on the sandbox for your specific use-case

WASM+WASI as a compilation target allows any program written for modern operating systems to work on any WASM runtime

Why wouldn't it? It's a different technology stack, developed with the benefit of decades of additional experience running hostile code on the web.
You mean like the CLR?

Kind of strange that such experience still allows for WASM to be the target of C and C++ compilers, and there is no bounds checking support inside linear memory regions.

Because Java is a language, not a compilation target?
From the introduction section of the Java specification [1]:

"The Java Virtual Machine is the cornerstone of the Java platform. It is the component of the technology responsible for its hardware- and operating system-independence, the small size of its compiled code, and its ability to protect users from malicious programs."

[1] https://docs.oracle.com/javase/specs/jvms/se26/html/jvms-1.h...

From the same link, opening sentence:

"The Java® programming language is a general-purpose, concurrent, object-oriented language."

Edit: Having thought a little, I appreciate that it's possible to compile for the JVM from source code which is not Java, which makes the JVM a compilation target. As far as I'm aware the JVM doesn't have first class support for this though, It's been tacked on as an afterthought. Compiling C to JVM bytecode for example doesn't appear to be an enjoyable process. WASM on the other hand was designed explicity to function as a compilation target for arbitrary languages.

Maybe I'm missing something, happy to be proven wrong.

There are (or have been) lots of languages using the JVM as a compilation target, whether it is well-suited for this or not. Wikipedia has a partial list: https://en.wikipedia.org/wiki/List_of_JVM_languages
My point is that it isn't well suited for it. Hence WASM.
Check out https://extism.org, it is built for those kinds of use cases. However I think WASI and components could enhance it.
sorry I meant "most excited about", WASI and components should be useful for the usecases I mentioned too.

For example a SaaS services that accepts WASM plugins could provide a WASI that lets the plugin write to a object-store filesystem (like AWS S3) provided by the SaaS owner.

i had this same vision when i created hyper-mcp with modular plugin system via WASM plugins. Too bad, the community moves on from MCP to CLI with coding agent

https://github.com/hyper-mcp-rs/hyper-mcp