The leading WebAssembly Runtime supporting WASI and Emscripten

Wasmer is a fast and secure WebAssembly runtime that enables super lightweight containers to run anywhere: from Desktop to the Cloud, Edge and IoT devices.

This document is also available in: 🇨🇳 中 文 -Chinese🇩🇪 Deutsch-German🇪🇸 Español-Spanish🇫🇷 Français-French🇯🇵 日本 語 -Japanese🇰🇷 한국어 -Korean.

Features

  • Secure by default. No file, network, or environment access, unless explicitly enabled.
  • Supports WASI and Emscripten out of the box.
  • Fast. Run WebAssembly at near-native speeds.
  • Embeddable in multiple programming languages
  • Compliant with latest WebAssembly Proposals (SIMD, Reference Types, Threads, ...)

Install

Wasmer CLI ships as a single executable with no dependencies.

curl https://get.wasmer.io -sSfL | sh

Other installation options (Powershell, Brew, Cargo, ...)

Wasmer can be installed from various package managers. Choose the one that fits best for your environment:

Powershell (Windows)

iwr https://win.wasmer.io -useb | iex

Homebrew (macOS, Linux)

brew install wasmer

Scoop (Windows)

scoop install wasmer

Chocolatey (Windows)

choco install wasmer

Cargo binstall

cargo binstall wasmer-cli

Cargo

Note: All the available features are described in the wasmer-cli crate docs

cargo install wasmer-cli

Looking for more installation options? See the wasmer-install repository to learn more!

Quickstart

You can start by running QuickJS, a small and embeddable Javascript engine compiled as a WebAssembly module (qjs.wasm):

$ wasmer qjs.wasm
QuickJS - Type "\h" for help
qjs > const i = 1 + 2;
qjs > console.log("hello " + i);
hello 3

Here is what you can do next:

📦 Language Integrations

The Wasmer runtime can be used as a library embedded in different languages, so you can use WebAssembly anywhere.

 LanguagePackageDocumentation
![Rust logo][Rust][Rust integration][wasmer Rust crate][Learn][rust docs]
![C logo][C][C integration][wasm.h header][Learn][c docs]
![C++ logo][C++][C integration][wasm.hh header][Learn][c docs]
![C# logo][C#][C# integration][WasmerSharp NuGet package][Learn][c# docs]
![D logo][D][D integration][wasmer Dub package][Learn][d docs]
![Python logo][Python][Python integration][wasmer PyPI package][Learn][python docs]
![JS logo][Javascript][JS integration][@wasmerio NPM packages][Learn][js docs]
![Go logo][Go][Go integration][wasmer Go package][Learn][go docs]
![PHP logo][PHP][PHP integration][wasm PECL package][Learn][php docs]
![Ruby logo][Ruby][Ruby integration][wasmer Ruby Gem][Learn][ruby docs]
![Java logo][Java][Java integration][wasmer/wasmer-jni Bintray package][Learn][java docs]
![R logo][R][R integration]no published package[Learn][r docs]
![Postgres logo][Postgres][Postgres integration]no published package[Learn][postgres docs]
![Swift logo][Swift][Swift integration]no published package 
![Zig logo][Zig][Zig integration]no published package 
![Dart logo][Dart][Dart integration][wasm pub package] 
![Crystal logo][Crystal][Crystal integration]no published package[Learn][crystal docs]
![Lisp logo][Lisp][Lisp integration]no published package 
![Julia logo][Julia][Julia integration]no published package 
![VLang logo][V][vlang integration]no published package 
![Ocaml logo][OCaml][OCaml integration][wasmer OCaml package] 

👋  Missing a language?

Contribute

We appreciate your help! 💜

We recommend reading the following guide on how to contribute into a complex project successfully: https://mitchellh.com/writing/contributing-to-complex-projects

Check our docs on how to build Wasmer from source or test your changes.

Bounties

For some issues we offer paid bounties. You'll get paid automatically as soon as your PR solving the issue is merged!

Bounties of wasmerio 

Community

Wasmer has an amazing community of developers and contributors. Welcome, please join us! 👋


Download details:

Author: wasmerio
Source: https://github.com/wasmerio/wasmer

License: MIT license

#rust #webassembly 

The leading WebAssembly Runtime supporting WASI and Emscripten
1.30 GEEK