Hacker News new | ask | show | jobs
by mgomez 906 days ago
I've yet to dip my toes into Wasm. This might push me to finally get going. Based on a quick search, Wasmer and Wasmtime appear to be the two most popular runtimes with the latter being backed by some big names (via the Bytecode Alliance). Wasmer seems to push new features first. Can someone share what their experience was like with either or why they chose one over the other?
3 comments

In my experience Wasmer is generally disliked by the rest of the WASM community. There’s a long list of reasons for this, including attempting to copyright the term WASM and pushing their own proprietary specs and calling them “standards” while not implementing existing standards.

Their main benefit, from what I can tell, is their “retargetable” compiler architecture, but Wasmtime is improving here as well. Wasmtime is also generally faster at implementing standards.

I wish to live the day where we can incentivize one ecosystem without having to trash another.

This is not a zero-sum game.

If you find Wasmer useful, use it! If you don’t and you prefer others, feel free to use them. There are plenty of choices.

Happy holidays!

I would say that this landing page on your company’s website is unnecessarily trashing wasmtime in the headline

https://wasmer.io/wasmer-vs-wasmtime

Preaching water, drinking wine.

Classic.

No intend of trashing (in marketing pages titles tend to be more flashy).

In any case I just updated it. Happy holidays!

Is it just me or is it weird to show a faster startup speed as a bigger bar?

I thought it was slower until I saw the 1000x. Even 1000x seems kinda meaningless.

None of those are actual answers to the criticism posted by the parent, so it's hard to really care even if it's wrapped around a loving tone.

Happy holidays to you as well!

Thanks!

I sometimes assume people have the same context as I do, and your comment made me realize that it was not the case. Here's some context: https://wasmer.io/posts/wasmer-and-trademarks

Regarding standards, I assume the mention is referring to Wasmer push for WASIX [1]. Which is a specification & implementation that welcomes anyone to participate (even on it's governance model), so I don't think the stance of the previous comment is accurate.

[1] https://wasix.org/

wasmtime is closely aligned with where active development is happening in WebAssembly, WASI, and similar standards. You can expect that as the folks working on WebAssembly itself establish support for (for instance) async, or GC, or components and linking, or other new APIs, wasmtime is where those are going to show up first and be aligned with the rest of the industry. It's easy to embed and reasonably easy to expose your own APIs through, so that you can use it for plugins.

The community is also friendly and inviting for folks trying to get started.

I'm using it for my latest project - writing a cashflow calculator and graphing tool. Really cool to be able to write all the business and graphing logic in Go, then share it with the front end via WASM, so I don't need to implement the same logic in both Go and JS separately.

Things I learned: TinyGo works to get the package size down. Translating values between JS and Go is straightforward (with a lot of boilerplate), but trying to do the JSON dance wasn't worth it - too brittle. Creating SVG in Go and then using it as the innerHTML for a div actually works really well :)

Edit: to be clear, I'm using Go's WASM implementation, not Wasmer