spin VS spec

Compare spin vs spec and see what are their differences.

spin

Spin is the open source developer tool for building and running serverless applications powered by WebAssembly. (by fermyon)

spec

WebAssembly for Proxies (ABI specification) (by proxy-wasm)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
spin spec
22 8
4,862 511
6.0% 2.5%
9.8 3.1
about 18 hours ago 10 months ago
Rust
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

spin

Posts with mentions or reviews of spin. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-04.
  • Git Prom! My Favorite Git Alias
    1 project | dev.to | 5 Jan 2024
    For example, here's a snippet of my Git config for the spin repository:
  • 4 Ways to Participate in Advent of Spin - A Wasm Coding Challenge
    2 projects | dev.to | 4 Dec 2023
    We built (and open-sourced) Spin to make the developer experience easier, and we want to show you this through Fermyon's Advent of Spin. You will be presented with fun coding challenges that'll help you learn to build with Spin and WebAssembly.
  • Creating a Server Side Rust WebAssembly App with Spin 2.0
    1 project | dev.to | 6 Nov 2023
    Fermyon Spin is the open source tool for building serverless functions with WebAssembly. We’re going to use a few Spin commands to go from blinking cursor to deployed app in just a few minutes. Along the way, we’ll walk through a Spin project and see some of the features of Spin 2.0.
  • Flawless – Durable execution engine for Rust
    7 projects | news.ycombinator.com | 25 Oct 2023
    linky: https://github.com/fermyon/spin#readme (Apache 2; and while I don't see any CLA, interestingly they do require GPG signed commits: https://developer.fermyon.com/spin/contributing-spin#committ... )
  • Building microservices in Rust with Spin
    1 project | dev.to | 18 May 2023
    To install the binary file on Windows, download the Windows binary release, unzip the file, and place the spin.exe file in your system path.
  • Spin 1.0 — The Developer Tool for Serverless WebAssembly
    17 projects | dev.to | 28 Mar 2023
    We are delighted to introduce Spin 1.0, the first stable release of the open source developer tool for building serverless applications with WebAssembly (Wasm)! Since we first introduced Spin last year, we have been hard at work together with the community on building a frictionless developer experience for building and running serverless applications with Wasm.
  • Spin – Build Microservices with WebAssembly
    1 project | news.ycombinator.com | 26 Mar 2023
  • Waggy v0.3 Released!!
    3 projects | /r/softwaredevelopment | 4 Dec 2022
    “Waggy is used for writing WAGI (WebAssembly Gateway Interface) compliant API routers/individual handlers. WAGI was developed by deislabs for accepting and routing incoming HTTP requests with WebAssembly via a configuration file (modules.toml) defining routes, modules, volumes to be mounted, etc. WAGI can run as a stand alone server, or with a framework such as the Fermyon/Spin framework Go SDK. Waggy allows for the flexibility of handling the routing via the modules.toml, or to define it code (Waggy is written in Go), as well as various pieces of convenient functionality such as the new features described above!!”
  • WasmEdge
    9 projects | news.ycombinator.com | 29 Nov 2022
    They’re VC-funded and will vendor lock-in you. See their response to my discussion:

    https://github.com/fermyon/spin/discussions/861

    With WasmEdge there is no vendor lock-in, it’s opaque and standards-based

  • Recommendations for a resource efficient backend framework?
    1 project | /r/webdev | 15 Oct 2022
    What language do you want? And how experimental are you wanting to go? This project is crazy cool https://github.com/fermyon/spin , but might be harder to work with if you’re not willing to use rust :p, think they might have made it easy for c# too though

spec

Posts with mentions or reviews of spec. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-08.
  • Hardening Apache APISIX with the OWASP's Coraza and Core Ruleset
    6 projects | dev.to | 8 Feb 2024
    OWASP also provides Coraza, a port of ModSecurity available as a Go library. Coraza Proxy Wasm is built on top of Coraza and implements the proxy-wasm ABI, which specifies a set of Wasm interfaces for proxies. Finally, Apache APISIX offers proxy-wasm integration.
  • A "Tiny" APISIX Plugin
    4 projects | dev.to | 27 Nov 2023
    APISIX supports Wasm through the WebAssembly for Proxies (proxy-wasm) specification. APISIX is a host environment that implements the specification, and developers can use the SDKs available in multiple languages to create plugins.
  • Show HN: WebAssembly dev environment for Envoy Proxy
    4 projects | news.ycombinator.com | 3 Aug 2023
    Hi HN!

    For the past few weeks we've been working on Proximal - a workflow engine that lets you quickly iterate on WebAssembly extensions for Envoy Proxy[0] (or other proxies) right on your local machine: https://github.com/apoxy-dev/proximal

    This work is based on Proxy-WASM[1] extension ABI for Envoy (and other proxies like APISIX and Mosn[2]) which allows you to execute WebAssembly code on every API request a la Cloudflare Workers. As part of our wider effort at https://apoxy.dev to improve API glue code we built an experimentation / development platform and hope you will find it useful!

    On the technical side this project packs Envoy itself, Envoy controller, REST API (for controlling the controller =)), React SPA, and Temporal server/worker (for orchestration) - all baked into a single Go binary. You can find more on architecture and limitations in the repository README[4].

    This project is pretty early stage and we would appreciate community feedback!

    Previous HN discussions on this topic:

    * https://news.ycombinator.com/item?id=36113542

    * https://news.ycombinator.com/item?id=22582276

    ---

    [0] https://www.envoyproxy.io/

    [1] https://github.com/proxy-wasm/spec/blob/master/docs/WebAssem...

    [2] https://apisix.apache.org/ https://mosn.io/

    [3] https://github.com/apoxy-dev/proximal/blob/main/README.md#ar...

  • Hardening Drupal with WebAssembly
    3 projects | news.ycombinator.com | 29 May 2023
    Wasm Labs dev here :)

    In mod_wasm, there are some differences with a pure CGI implementation. When Apache boots, it loads the configuration and initializes the WasmVM. When a new HTTP request arrives, the VM is ready so you don't need to initialize a different process to manage it.

    You still need to process the request and pass the data to the Wasm module. This step is done via STDIN through the WebAssembly System Interface (WASI) implementation [0]. The same happens in the opposite direction, as the module returns the data via STDOUT.

    So, the CGI pattern is still there, but it doesn't require new processes and all the code runs in a sandbox.

    However this is not the only way you can run a Wasm module. In this specific case, we use CGI via WASI. In other cases, you may compile a module to fulfill a specific API, like ProxyWasm [1] to create HTTP filters for proxies like Envoy.

    - [0] https://wasi.dev/

    - [1] https://github.com/proxy-wasm/spec

  • Rewriting the Apache APISIX response-rewrite plugin in Rust
    2 projects | dev.to | 5 Oct 2022
    proxy-wasm spec
  • Apache APISIX loves Rust! (and me too)
    7 projects | dev.to | 27 Sep 2022
    The team considered to solve the issue with C++ extensions, but discarded this approach as neither APIs nor ABIs were stable. Instead, they chose to provide a stable WebAssembly-based ABI. If you're interested in a more detailed background, you can read the whole piece on GitHub.
  • Extending Envoy with WebAssembly Proxy Filters
    2 projects | dev.to | 11 Jul 2022
  • Spin – WebAssembly Framework
    13 projects | news.ycombinator.com | 31 Mar 2022

What are some alternatives?

When comparing spin and spec you can also consider the following projects:

wasmCloud - wasmCloud allows for simple, secure, distributed application development using WebAssembly components and capability providers.

proxy-wasm-cpp-sdk - WebAssembly for Proxies (C++ SDK)

lunatic - Lunatic is an Erlang-inspired runtime for WebAssembly

proxy-runtime

wit-bindgen - A language binding generator for WebAssembly interface types

proxy-wasm-go-sdk - WebAssembly for Proxies (Go SDK)

component-model - Repository for design and specification of the Component Model

kwasm - Proof of concept React-ish UI library, powered by WebAssembly

distribution-spec - OCI Distribution Specification

bartholomew - The Micro-CMS for WebAssembly and Spin

wasmblog - Blog using Bartholomew served by WASI