Hacker News new | ask | show | jobs
by matei_radu 1535 days ago
Hi, and thanks for your comment! (one of the authors of Spin here.)

First, both Spin and the component model are in their early stages, but there are a few things I'd mention here:

- as you correctly pointed out, all "trigger" interfaces are based on WIT (https://github.com/bytecodealliance/wit-bindgen/blob/main/WI...), the new WebAssembly interface format, so a) building a WebAssembly binary that implements a trigger interface can be done pretty easily in languages with bindgen support, and b) extending Spin with a new trigger type can also be done by starting with the WIT interface (really early on this topic, but here's an example — https://spin.fermyon.dev/extending-and-embedding/)

- we want to add support for defining component dependencies, and dynamically linking them at runtime based on the environment.

- all "platform features" we want want to add to Spin will be initially based on host implementations for WebAssembly interfaces (you can see an early example of this in this PR — https://github.com/fermyon/spin/pull/165)

- we are closely following the tooling in the component model (https://github.com/bytecodealliance/wit-bindgen/pull/183) and will add support for natively executing actual components once that is available upstream.

Hope this is helpful!