Skip to content
/ wasmer Public
forked from wasmerio/wasmer

πŸš€ The leading WebAssembly Runtime supporting WASI and Emscripten

License

Notifications You must be signed in to change notification settings

noy-wg2/wasmer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Wasmer logo

Build Status License Slack channel

Website β€’ Docs β€’ Chat


Wasmer is a runtime that enables super lightweight containers based on WebAssembly to run anywhere: from Desktop to the Cloud and IoT devices, and also embedded in numerous programming language.

This document is also available in: πŸ‡¨πŸ‡³ δΈ­ ζ–‡ -Chinese, πŸ‡ͺπŸ‡Έ EspaΓ±ol-Spanish, πŸ‡«πŸ‡· FranΓ§ais-French, πŸ‡―πŸ‡΅ ζ—₯本 θͺž -Japanese.

✨ Features

  • Fast & Safe. Wasmer runs WebAssembly at near-native speed in a fully sandboxed environment.

  • Pluggable. To best suit your needs, Wasmer supports different compilation strategies (aka the compilers β€” based on LLVM, based on Cranelift, or Singlepass) and artifact strategies (aka the engines β€” Universal, Dylib, Staticlib).

  • Universal. You can run Wasmer on any platform (Linux, macOS and Windows) and chipset.

  • Standards compliant. The runtime passes official WebAssembly test suite supporting WASI and Emscripten.

🏁 Quickstart

The quickest way to get fun with Wasmer is to install its CLI. It ships with no dependency. Let's first start by installing it, then let's see how to execute a WebAssembly file.

Installing the Wasmer CLI

Wasmer can be installed from various package managers, scripts, or built from sources… Pick what is best for you:

  • With curl

    This is kind of the universal way to install Wasmer. If you don't trust this approach, please see other installation options.

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

    This installation process is dedicated to Windows users:

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

    Homebrew is mainly a package manager for macOS:

    brew install wasmer
  • With Scoop

    Scoop is a package manager for Windows:

    scoop install wasmer
  • With Chocolatey

    Chocolatey is a package manager for Windows:

    choco install wasmer
  • With Cargo

    Cargo is the crate installer for Rust.

    The following command will install wasmer-cli. All the available features are described in the wasmer-cli documentation.

    cargo install wasmer-cli
  • From source

    Inside the root of this repository (in this case, you're likely to need some dependencies):

    make build-wasmer

    Read the documentation to learn more about this approach.

  • More installation options? See the wasmer-install repository to learn more!

Executing a WebAssembly file

After installing Wasmer you should be ready to execute your first WebAssembly file! πŸŽ‰

You can start by running QuickJS, which is 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

Discover

Here are some clues about 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.

Language Package Documentation
Rust logo Rust wasmer Rust crate Learn
C logo C/C++ wasmer_wasm.h header Learn
C# logo C# WasmerSharp NuGet package Learn
D logo D wasmer Dub package Learn
Python logo Python wasmer PyPI package Learn
JS logo Javascript @wasmerio NPM packages Learn
Go logo Go wasmer Go package Learn
PHP logo PHP wasm PECL package Learn
Ruby logo Ruby wasmer Ruby Gem Learn
Java logo Java wasmer/wasmer-jni Bintray package Learn
Elixir logo Elixir wasmex hex package Learn
R logo R no published package Learn
Postgres logo Postgres no published package Learn
Swift no published package
Zig logo Zig no published package

πŸ‘‹ Missing a language?

🀲 Contribute

We welcome any form of contribution, especially from new members of our community πŸ’œ. You can check how to build the Wasmer runtime documentation from sources!

Testing

Test you want? The Wasmer docs will show you how.

πŸ‘ Community

Wasmer has an amazing community of developers and contributors. You are very welcome! πŸ‘‹

Channels

About

πŸš€ The leading WebAssembly Runtime supporting WASI and Emscripten

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 92.7%
  • C++ 4.0%
  • C 2.4%
  • Makefile 0.5%
  • Python 0.1%
  • Shell 0.1%
  • Other 0.2%