Skip to main content

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 GuideCodex RepoEnarx SupportEnarx Tier
RustRepoExcellentTier 1
C++RepoExcellentTier 1
CRepoExcellentTier 1
GolangRepoExcellentTier 1
JavaScriptRepoExperimentalTier 2
TypeScriptRepoExperimentalTier 2
PythonRepoExperimentalTier 2
.NETRepoExperimentalTier 2
JavaRepoExperimentalTier 2
ZigRepoExperimentalTier 3
RubyRepoExperimentalTier 3
SwiftRepoExperimentalTier 3
AssemblyScriptRepoExperimentalTier 3
GrainRepoExperimentalTier 3

More information about Wasm/WASI language support are available here: