3 ms·
Look at something like wasmtime, it lets you make native programs with very secure plugins that support multiple languages by default (that even works in a brow
by dinosaurdynasty 3y ago
Look at something like wasmtime, it lets you make native programs with very secure plugins that support multiple languages by default (that even works in a browser too, in the same secure by default way).
LLVM (without a lot of coding anyway, wasmer has an LLVM backend) doesn't do the whole "easy secure sandbox by default" thing, which IMHO is easily the biggest differentiator of WASM.
- jagged-chisel 3y agoFor GP’s clarity: LLVM is a compiler. WASM is a compiler target.
- saagarjha 3y agoPresumably they meant "LLVM IR" when they were talking about LLVM.
- sanderjd 3y agoThis is an honest question: Is this a fundamentally different approach than java extensions from the late 90s?
- dinosaurdynasty 3y agoFrom what I remember basically every plugin attempt in those days (Java, flash, activex, etc) were all a dumpster fire when it came to security. WASM saw that and decided to make security priority number one from day one.
- sanderjd 3y agoThis makes sense. I had been thinking of it as something fundamentally different than plugins. But just "plugins done right" is a lot more compelling to me.
- Rusky 3y agoYes, they have very different security models. Wasm is capability-based, starting from zero- a module declares what imports it needs, and the code that loads the module decides how to fulfill those imports. There's no other way for the module to talk to anything outside its own internals.
- sanderjd 3y agoThank you! That helps a lot.