Live data from Hacker News

QuickJS Running in WebAssembly

github.com

11–20 of 28 posts

Re: QuickJS Running in WebAssembly

#12

Is this also possible with Go as the host instead of TypeScript?

Yes but not this exact module. You can use wasmtime-go to run wasm modules in go programs. You just need to compile quickjs to wasm

I’m not sure if anyone has done so yet for Go, but Shopify has done this for Rust.

https://github.com/Shopify/javy/tree/main/crates/quickjs-was...

Re: QuickJS Running in WebAssembly

#13

Imagine something like "base system" with WebAssembly, bare bones HTML engine with canvas support and no CSS. So now you can just download your favourite JS engine, your favourite HTML, CSS engines. But browser does not necessarily need to sheep those. It would allow to lower the bar for entry into browser market. I think that even a single person could implement that kind of base browser. Of course there're many har…

Like on an Apple II?

https://web.archive.org/web/20150405004057/http://apple2info...

Re: QuickJS Running in WebAssembly

#14

Imagine something like "base system" with WebAssembly, bare bones HTML engine with canvas support and no CSS. So now you can just download your favourite JS engine, your favourite HTML, CSS engines. But browser does not necessarily need to sheep those. It would allow to lower the bar for entry into browser market. I think that even a single person could implement that kind of base browser. Of course there're many har…

Check out Geminispace https://gemini.circumlunar.space - one of the design requirements of the protocol is that it be simple enough that a single person can implement a browser for it in a weekend.

But convergence on a minimal set of solutions is inevitable. Even though Geminispace could have hundreds of browsers, most people just use one of the most popular ones, like Lagrange.

Your solution wouldn't lead to a vibrant marketplace of competing web engines, everyone would just ship the equivalent of Chromium like they do now and call it a day.

Re: QuickJS Running in WebAssembly

#15

Running user provided js in quickjs in webassembly in a worker in an sandboxed iframe on a different domain would offer many layers of security

One of the companies I worked for did exactly that to safely run customers' JS code, while also limiting / extending the API surface available.

The performance was quite adequate.

Re: QuickJS Running in WebAssembly

#17
post #14

Imagine something like "base system" with WebAssembly, bare bones HTML engine with canvas support and no CSS. So now you can just download your favourite JS engine, your favourite HTML, CSS engines. But browser does not necessarily need to sheep those. It would allow to lower the bar for entry into browser market. I think that even a single person could implement that kind of base browser. Of course there're many har…

Check out Geminispace https://gemini.circumlunar.space - one of the design requirements of the protocol is that it be simple enough that a single person can implement a browser for it in a weekend. But convergence on a minimal set of solutions is inevitable. Even though Geminispace could have hundreds of browsers, most people just use one of the most popular ones, like Lagrange. Your solution wouldn't lead to a vibra…

I'm not sure, just for the fact that the best browser is something that could vary quickly, there might be niches, different native versions...

Re: QuickJS Running in WebAssembly

#20

Imagine something like "base system" with WebAssembly, bare bones HTML engine with canvas support and no CSS. So now you can just download your favourite JS engine, your favourite HTML, CSS engines. But browser does not necessarily need to sheep those. It would allow to lower the bar for entry into browser market. I think that even a single person could implement that kind of base browser. Of course there're many har…

Cross origin caching of resources is a privacy risk

If site A can tell based on timing information that you probably visited site B recently, that's a pretty big privacy issue

This has largely killed cross-origin caching on the web, as I understand it

Post reply on HN