wa-lang.org/wazero@v1.0.2/site/content/_index.md (about)

     1  +++
     2  title = "wazero: the zero dependency WebAssembly runtime for Go developers"
     3  layout = "single"
     4  +++
     5  
     6  WebAssembly is a way to safely run code compiled in other languages. Runtimes
     7  execute WebAssembly Modules (Wasm), which are most often binaries with a
     8  `.wasm` extension.
     9  
    10  wazero is the only zero dependency WebAssembly runtime written in Go.
    11  
    12  ## Example
    13  
    14  The best way to learn wazero is by trying one of our [examples][1]. The
    15  most [basic example][2] extends a Go application with an addition function
    16  defined in WebAssembly.
    17  
    18  ## Why zero?
    19  
    20  By avoiding CGO, wazero avoids prerequisites such as shared libraries or libc,
    21  and lets you keep features like cross compilation. Being pure Go, wazero adds
    22  only a small amount of size to your binary. Meanwhile, wazero’s API gives
    23  features you expect in Go, such as safe concurrency and context propagation.
    24  
    25  ### When can I use this?
    26  
    27  wazero is an early project, so APIs are subject to change until version 1.0.
    28  To use wazero meanwhile, you need to use the latest pre-release like this:
    29  
    30  ```bash
    31  go get github.com/tetratelabs/wazero@latest
    32  ```
    33  
    34  wazero will tag a new pre-release at least once a month until 1.0. 1.0 is
    35  scheduled for Feb 2023, following the release of Go 1.20.
    36  
    37  Meanwhile, please practice the current APIs to ensure they work for you, and
    38  give us a [star][3] if you are enjoying it so far!
    39  
    40  [1]: https://github.com/tetratelabs/wazero/blob/main/examples
    41  [2]: https://github.com/tetratelabs/wazero/blob/main/examples/basic
    42  [3]: https://github.com/tetratelabs/wazero/stargazers