mirror of
https://github.com/fluencelabs/wasmer
synced 2024-12-04 18:10:18 +00:00
d23a3f3d1c
1401: Make runtime and trap errors well defined r=syrusakbary a=MarkMcCaskey Resolves #1328 This PR goes through and gives explicit types for all the errors instead of using `Box<dyn Any + Send>` where possible. This gives users better insight into what the specific errors are and should help with debugging in the case of mistakes in our code. The remaining uses of `Box<dyn Any>` are due to the structure of our dependency graph -- this is probably solvable but it seems fine as is as all error types are now explicit and the remaining `Box<dyn Any>`s are either fully user controlled or not for end-user consumption. # Review - [x] Add a short description of the the change to the CHANGELOG.md file Co-authored-by: Mark McCaskey <mark@wasmer.io> |
||
---|---|---|
.azure | ||
.github | ||
assets | ||
benches | ||
ci | ||
examples | ||
fuzz | ||
lib | ||
scripts | ||
src | ||
tests | ||
.gitattributes | ||
.gitignore | ||
ATTRIBUTIONS.md | ||
azure-pipelines.yml | ||
bors.toml | ||
build.rs | ||
Cargo.lock | ||
Cargo.toml | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
Makefile | ||
README.md | ||
rustfmt.toml | ||
SECURITY.md |
Wasmer is a standalone WebAssembly runtime:
- Universal: Wasmer is available in Linux, macOS and Windows (for both Desktop and ARM)
- Fast: Wasmer aims to run WebAssembly at near-native speed
- Pluggable: Wasmer can be used from almost any programming language
- Safe: supporting WASI and Emscripten
It is used to run software fast, universally and safely: standalone applications and universal libraries.
Contents
Quickstart
Get started with Wasmer:
1. Install Wasmer
curl https://get.wasmer.io -sSfL | sh
Note: Wasmer is also available on Windows
Alternative: Install with Homebrew
brew install wasmer
2. Use Wasmer
Download a WASM file, and use it universally! You can start with QuickJS: qjs.wasm
wasmer qjs.wasm
3. Next steps
Here is what you can do next:
Language Integrations
Wasmer runtime can be used as a library embedded in different languages, so you can use WebAssembly anywhere 🎉
Language | Docs | Author(s) | Maintenance | Release | Stars | |
---|---|---|---|---|---|---|
Rust | Docs | Wasmer | actively developed | |||
C/C++ | Docs | Wasmer | actively developed | |||
Python | Docs | Wasmer | actively developed | |||
Go | Docs | Wasmer | actively developed | |||
PHP | Docs | Wasmer | actively developed | |||
Ruby | Docs | Wasmer | actively developed | |||
Postgres | Wasmer | actively developed | ||||
JavaScript | Docs | Wasmer | actively developed | |||
C#/.Net | Docs | Miguel de Icaza | actively developed | |||
R | Docs | Dirk Schumacher | actively developed | |||
Elixir | Docs | Philipp Tessenow | actively developed | |||
❓ | your language is missing? |
Contribute
We welcome any form of contribution, especially from new members of our community 💜
You can check how to build the Wasmer runtime in our awesome docs!
Testing
Test you want? The Wasmer docs will show you how.
Community
Wasmer has an amazing community developers and contributors. Welcome, please join us! 👋