Simple WebAssembly examples
This repository is a collection of WASM examples, going from simplest to slightly more complex ones.
The goal is to demonstrate how WASM binaries can be consumed from various environments. The binaries are currently produced by Rust.
Examples
- e0-trivial - little or no tools needed
- Bash client - use targets
run-wasmer
,run-wasmtime
- HTML client
- Java client using wasmtime library for Java
- Python client using wasmtime library for Python
- Rust client using wasmtime library for Rust
- Bash client - use targets
- more to come soon
Structure
Each directory comes with a Makefile
. It is used only as a container for commands that are useful to try with the demos.
Languages
Following languages and environments are the primary target for consuming WebAssembly artefacts:
- Javascript (from a webbrowser)
- Rust
- Java
- Python
- C++
Tools
Some tools help with defining bindings and they are going to be used and demonstrated in some of the demos.
Some of them are:
- wasm-bindgen
- WABT
- wasm-pack
- WASI - WebAssembly System Interface
- WebAssembly Interface Types
Contributions
Contributions are totally welcome! Please send PR.
Status
The collection is just starting. Please be patient - or consider adding your examples.