`wasm32-wasi` support added to Tokio

This page summarizes the projects mentioned and recommended in the original post on /r/rust

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • tokio

    A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...

  • note: support has not stabilized yet, tracking issue

  • wasmer

    🚀 The leading Wasm Runtime supporting WASIX, WASI and Emscripten

  • It allows WebAssembly to be programs which are run using a runtime on the command line, like Wasmtime, Wasmer, Wasm3, etc. Sometimes, you want to have a program which acts like a server, in that it can receive connections and send responses. This is what the patch for Tokio does.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • enarx

    Enarx: Confidential Computing with WebAssembly

  • Yup, Wasm without NodeJS, without the browser. Just need a runtime, and some of the runtimes can be used as a libary, allowing for Wasm integration into other projects. For example, my company works on Enarx r/enarx which uses Wasmtime as a library to allow running Wasi applications in encrypted enclaves on AMD Epyc and Intel Xeon CPUs.

  • MIO

    Metal I/O library for Rust.

  • Made possible by Wasi support for Mio https://github.com/tokio-rs/mio/pull/1576

  • wasm3

    🚀 A fast WebAssembly interpreter and the most universal WASM runtime

  • It allows WebAssembly to be programs which are run using a runtime on the command line, like Wasmtime, Wasmer, Wasm3, etc. Sometimes, you want to have a program which acts like a server, in that it can receive connections and send responses. This is what the patch for Tokio does.

  • wasmtime

    A fast and secure runtime for WebAssembly

  • It allows WebAssembly to be programs which are run using a runtime on the command line, like Wasmtime, Wasmer, Wasm3, etc. Sometimes, you want to have a program which acts like a server, in that it can receive connections and send responses. This is what the patch for Tokio does.

  • wasi-libc

    WASI libc implementation for WebAssembly

  • Wasi is basically WebAssembly without the browser, or WebAssembly with a `main()`.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • hyper

    An HTTP library for Rust (by hyperium)

  • PR for Hyper: https://github.com/hyperium/hyper/pull/2900, haven't been able to get dev attention, and tried reaching out on their Discord server

  • axum

    Ergonomic and modular web framework built with Tokio, Tower, and Hyper (by rjzak)

  • Axum for Wasi: https://github.com/rjzak/axum/tree/wasi_wip, I haven't filed a PR yet since I'm waiting on the next version for Tokio, and for the Hyper PR to be merged.

  • wasi-crypto

    WASI Cryptography API Proposal

  • That's why there's wasi-crypto! https://github.com/WebAssembly/wasi-crypto

  • wasi-crypto-example

  • Simple example: https://github.com/rjzak/wasi-crypto-example

  • wasi-sockets

    WASI API proposal for managing sockets

  • Wasi-sockets for better networking support: https://github.com/WebAssembly/wasi-sockets (though I don't think there's any implementations of this yet)

  • component-model

    Repository for design and specification of the Component Model

  • Not really. Use cases like that would be covered by the Component-Model Proposal I'd guess.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts