By design, the environment within which a WebAssembly module runs is completely isolated (or sandboxed) from the native functionality of the underlying host system. This means that by default, Wasm modules are designed to perform nothing more than pure computation.
Consequently, access to "OS"-level resources such as file descriptors, network sockets, the system clock, and random numbers is not normally possible from Wasm.
However, there are many cases in which a Wasm module needs to do more than perform pure computation; they must interact with native "OS" functionality.
Wasmer is designed to provide three key features:
- 1.Enable programs to run in any programming language
- 2.Enable extremely portable binaries to run unmodified on any "OS" supported by Wasmer (for example, Linux, macOS, Windows and FreeBSD).
And many more (for which we will be creating docs here soon!)
Let's now get started with the Wasmer Standalone Runtime!