Introduction
WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable target for compilation of various programming languages.
Enarx provides a WebAssembly runtime, based on wasmtime, offering developers a wide range of language choices for implementation.
WASI (WebAssembly System Interface) is an API that provides access to several operating-system-like features, including I/O, filesystem, sockets, threads, and crypto.
Support for WebAssembly and WASI (WebAssembly System Interface) varies from language to language.
The following table shows Enarx support and tier information for each language, as well as links to a dedicated Wasm Guide and to the Codex repository with code examples.
Wasm Guide | Codex Repo | Enarx Support | Enarx Tier |
---|---|---|---|
Rust | Repo | Excellent | Tier 1 |
C++ | Repo | Excellent | Tier 1 |
C | Repo | Excellent | Tier 1 |
Golang | Repo | Excellent | Tier 1 |
JavaScript | Repo | Experimental | Tier 2 |
TypeScript | Repo | Experimental | Tier 2 |
Python | Repo | Experimental | Tier 2 |
.NET | Repo | Experimental | Tier 2 |
Java | Repo | Experimental | Tier 2 |
Zig | Repo | Experimental | Tier 3 |
Ruby | Repo | Experimental | Tier 3 |
Swift | Repo | Experimental | Tier 3 |
AssemblyScript | Repo | Experimental | Tier 3 |
Grain | Repo | Experimental | Tier 3 |
More information about Wasm/WASI language support are available here: