Live data from Hacker News

Spin 2.0 – open-source tool for building and running WASM apps

fermyon.com

11–20 of 38 posts

Re: Spin 2.0 – open-source tool for building and running WASM apps

#11
post #8
post #6

Ahem? "Spin is a widely used open-source software verification tool" and it's been around a long time "The tool was developed at Bell Labs in the Unix group of the Computing Sciences Research Center, starting in 1980, and has been available freely since 1991" http://spinroot.com/

I wonder if we’re at a point where it doesn’t really make sense anymore to insist on unique names. Most of the good ones have been used by now; and this likely won’t get better as more time passes.

It's a solved problem, and it's called trademark law / a wordmark.

Re: Spin 2.0 – open-source tool for building and running WASM apps

#12
post #7
post #6

Ahem? "Spin is a widely used open-source software verification tool" and it's been around a long time "The tool was developed at Bell Labs in the Unix group of the Computing Sciences Research Center, starting in 1980, and has been available freely since 1991" http://spinroot.com/

Ha, naming is tough! At least it's not named Atlas :)

Allow me to introduce you to Watergate, our new dam simulation platform.

Re: Spin 2.0 – open-source tool for building and running WASM apps

#13

I still have to try wasm, but I see the main focus seems to be on cloud and edge deployments. What I'd really like would be to program a game in C (or classic Turbo Pascal) and have a way to run it "hosted" in a iOS, Android or native app. Is that possible nowadays?

Someone would need to implement a library to abstract away the differences between all of these platforms, like Spin does for server software.

I'm not aware of a tech stack that does that.

Re: Spin 2.0 – open-source tool for building and running WASM apps

#14
post #9

Hi, everyone, I'm one of the Spin maintainers. We're really excited about the new release, happy to answer questions about it!

Congrats on the release! Question how did you come up with your the languages you support. Obviously how well the language compiles to Wasi is a factor, but how did you end up picking C# for instance? Additionally how does Javascript support work? Are you embedding QuickJS?

Thank you!

To your point, the primary consideration for choosing the languages is their support for WebAssembly, and WASI in particular.

Due to Spin's heavy use of WASI and the component model, languages that have first party support in the WIT bindings generator (https://github.com/bytecodealliance/wit-bindgen) are the easiest to implement, followed by languages that can be built on top of the support for those with first party support.

For example, the JavaScript support is built by embedding QuickJS (in particular, Shopify's Javy project — https://github.com/fermyon/spin-js-sdk), which then uses the Rust SDK. (As a side note for the JS support — adapting QuickJS has been extremely helpful in getting JS support out; however, we are in the process of rebuilding the JS runtime using SpiderMonkey (with which a few people on the team have significant experience) and JCO (https://github.com/bytecodealliance/jco), and the web platform compatibility makes it a significantly better proposition for things like 3rd party dependencies).

C# is an interesting one — the .NET team at Microsoft (and in particular Steve Sanderson from that team) has been making tremendous progress in ahead-of-time compilation for .NET and generating Wasm and WASI compatible binaries (as opposed to their initial approach on Blazor), and experimenting with that led us to build support for Spin as well.

Finally, we do a lot to support other popular languages and their Wasm support — two examples: Python (https://github.com/bytecodealliance/componentize-py) and Java / TeaVM (https://github.com/fermyon/teavm-wasi), for which we haven't fully integrated Spin support, but we hope to get there soon.

I hope this explains a bit our process on language support, happy to expand on any point here. Enjoy your weekend!

Re: Spin 2.0 – open-source tool for building and running WASM apps

#15
post #3

Hi, everyone, I'm one of the Spin maintainers. We're really excited about the new release, happy to answer questions about it!

How to use Spin with Zig?

Hey, jesdict1!

Check out this community project that adds support for Zig — https://github.com/tensorush/zig-spin.

Re: Spin 2.0 – open-source tool for building and running WASM apps

#17
post #4

Hi, everyone, I'm one of the Spin maintainers. We're really excited about the new release, happy to answer questions about it!

Congrats on the release! Any example sites where Spin is in active use?

Thank you!

(disclaimer: I work at Fermyon, the company that created Spin.)

All of Fermyon's websites are powered by Spin, and there are quite a few users who are deploying their Spin applications to Fermyon Cloud.

Re: Spin 2.0 – open-source tool for building and running WASM apps

#18
post #13

I still have to try wasm, but I see the main focus seems to be on cloud and edge deployments. What I'd really like would be to program a game in C (or classic Turbo Pascal) and have a way to run it "hosted" in a iOS, Android or native app. Is that possible nowadays?

Someone would need to implement a library to abstract away the differences between all of these platforms, like Spin does for server software. I'm not aware of a tech stack that does that.

WASIX might come in handy for that!

https://wasix.org

Re: Spin 2.0 – open-source tool for building and running WASM apps

#20

I still have to try wasm, but I see the main focus seems to be on cloud and edge deployments. What I'd really like would be to program a game in C (or classic Turbo Pascal) and have a way to run it "hosted" in a iOS, Android or native app. Is that possible nowadays?

You could write it using SDL2, a popular C library. They say the support iOS and Android: https://wiki.libsdl.org/SDL2/Installation
Post reply on HN