They say running the hello world example "is as simple as this:"<p><pre><code> wasmer run wasmer/winterjs --dir=. serviceworker.js
</code></pre>
But ... what does that mean?<p>After I turned on a new computer, I certainly can't type that command and have it running "a JavaScript Service Workers server written in Rust, that uses the SpiderMonkey runtime to execute JavaScript" as they put it.<p>What is the background here? Say I have a newly installed Debian 12 machine - how do I get to use this thing?
I actually tried writing something like this one weekend last year. I really like the idea of the <a href="https://wintercg.org/" rel="nofollow noreferrer">https://wintercg.org/</a> group this runtime is named after, and I wanted a non-Node, non-Cloudflare, non-X version just to explore what it took to implement some of the APIs they've standardised on.<p>It was based on QuickJS and Tokio and never got far. Instead of implementing builtins in C, as the article suggests you would with QuickJS, I was implementing them in JS. I think I got to the point where the very simplest hello world would work.<p>Anyway, I'm glad someone else has done it.
It is weird that this is so high up in the frontpage yet no one in the comments understands what it is. Hopefully someone from the project team sees this and comes up with an understandable description.
> The WinterJS server is published in Wasmer as wasmer/winterjs.<p>Struggling with the assumed knowledge here, and having to hop a number of pages. What is wasmer? Why is this published there and not npm.<p>I think there is a new set or layer of terminology, some very close to each other, that the wasm world introduces but which nobody wants to explain. That leads to confusing when trying to understand a project like this.
What does it mean "blazing fast"? Every new thing is blazingly fast nowadays.. deno, bun, turbopack, etc. I don't even know what does it mean to me as a user, does it really super fast or it is just some fancy words. "blazingly fast" compared to what?
Some fancy indirectly referenced stuff:<p>Taking Javascript Code and generating a specialized Interpreter for this Code which can be compiled to Webassembly. (Chris Fallin)<p><a href="https://en.wikipedia.org/wiki/Partial_evaluation#Futamura_projections" rel="nofollow noreferrer">https://en.wikipedia.org/wiki/Partial_evaluation#Futamura_pr...</a><p>via <a href="https://github.com/cfallin/weval">https://github.com/cfallin/weval</a>
Why do I need service workers as standalone programs on the backend? What am I missing by not running them? Looks like another way to run server app<p>Fair question