Live data from Hacker News

Standardizing WASI: A system interface to run WebAssembly outside the web

hacks.mozilla.org

21–30 of 238 posts

Re: Standardizing WASI: A system interface to run WebAssembly outside the web

#21

Excuse me if I come across as naive, I'm kind of a noob on these architectural topics, but how is this different/better than what the JVM is/accomplishes? When WASM first popped up I thought about the similarities with Java Web Applets and Flash.

I wrote a blog post about that a few months back, here's the HN discussion https://news.ycombinator.com/item?id=17616459

Re: Standardizing WASI: A system interface to run WebAssembly outside the web

#22

Excuse me if I come across as naive, I'm kind of a noob on these architectural topics, but how is this different/better than what the JVM is/accomplishes? When WASM first popped up I thought about the similarities with Java Web Applets and Flash.

1. It's an open standard that the major browsers have agreed to, so it's not a plugin that you have to install. A WASM app will work seamlessly in your browser without any additional software.

2. WASM is designed from the ground up as a compile target, not a language. We already see many languages with support for building to WASM. C, C++, Rust, and eventually when WASM supports garbage collection we'll probably see Python, JS, Go, all with support for compiling to WASM.

Re: Standardizing WASI: A system interface to run WebAssembly outside the web

#23
post #5

How much of the Fuscia model apply to Web Assembly? It seems like they could share similar security models

We've mainly based the current design on CloudABI/Capsicum, but it's all early days, and Fuchsia is on our list of systems to at the very least take heavy inspiration from :)

Will this be backwards compatible with existing libc?

Re: Standardizing WASI: A system interface to run WebAssembly outside the web

#25

Love it. This could be a huge innovation and really push the dream of cross platform development to the next level. I suppose this would have pretty big implications for Electron or a similar successor to aid in the UI portion of this endeavor.

Yeap, so innovative it existed already for decades (virtual machine executing some fixed bytecode).

But lack of good and safe isolation was a serious problem

Re: Standardizing WASI: A system interface to run WebAssembly outside the web

#26

Excuse me if I come across as naive, I'm kind of a noob on these architectural topics, but how is this different/better than what the JVM is/accomplishes? When WASM first popped up I thought about the similarities with Java Web Applets and Flash.

I have been wondering this, it seems to me that it is potentially related to the memory allocation strategy for WASM should be more flexible than using something like the JVM

Re: Standardizing WASI: A system interface to run WebAssembly outside the web

#27
post #18

Earlier quoted context omitted.

Yes!

What about platform differences like how file permissions work on windows vs posix? (i.e., stuff that Python does not fully normalize)

It's a good question. WASI currently doesn't allow you to set custom access-control permissions when creating files. But we're just getting started, so if we can find a design that works, we can add it.

Re: Standardizing WASI: A system interface to run WebAssembly outside the web

#28

Earlier quoted context omitted.

We've mainly based the current design on CloudABI/Capsicum, but it's all early days, and Fuchsia is on our list of systems to at the very least take heavy inspiration from :)

Will this be backwards compatible with existing libc?

This tutorial gives an overview of how compatibility with existing portable C code works:

https://github.com/CraneStation/wasmtime-wasi/blob/wasi/docs...

Re: Standardizing WASI: A system interface to run WebAssembly outside the web

#29
This is nice and I'm excited about it, however there is a concern that people are going to start building code that targets WASI and then shim it to run in the browser. This happened to JavaScript when Node.js was released; people began using APIs intended for servers and then shimmed them to also run in the browser resulting in code bloat. I'm worried that the same is going to happen here; the video actually encourages doing just that. The browser is not a platform that should be treated as secondary.

Re: Standardizing WASI: A system interface to run WebAssembly outside the web

#30

Excuse me if I come across as naive, I'm kind of a noob on these architectural topics, but how is this different/better than what the JVM is/accomplishes? When WASM first popped up I thought about the similarities with Java Web Applets and Flash.

I wrote a blog post about that a few months back, here's the HN discussion https://news.ycombinator.com/item?id=17616459

This is an excellent write up, thank you!
Post reply on HN