bors[bot] ecafa7564d
Merge #1313
1313: Add types and methods to provide updated API r=MarkMcCaskey a=MarkMcCaskey

Improving the API in a number of ways.

<details><summary>Current status </summary>

- [x] Get exports from Instance
  - [x] Func
     - [x] Documented
     - [x] Tested
  - [x] DynFunc
    - [x] Documented
    - [x] Tested
  - [x] Memory
    - [x] Documented
    - [x] Tested
  - [x] Table
    - [x] Documented
    - [ ] Tested ; fully testing this now will be difficult, blocked on Table API being completed
  - [x] Global
    - [x] Documented
    - [x] Tested
  - [x] Field syntax (fairly non-trivial)
- [x] Get imports from Module
  - [ ] Maybe update this to be an iterator instead of a Vec (side note, we may want to have a way to access specific types of imports too)
  - [x] Documented
  - [x] Tested
- [x] Get exports from Module
  - [x] Documented
  - [x] Tested
- [x] Get custom section from Module
  - [x] Figure out correct solution
  - [x] Ship separate PR that updates custom section code
  - [x] Documented
  - [x] Tested
- [ ] Updated Memory API
  - [x] Added conversion methods to bytes/pages with From
  - [ ] Documented
  - [ ] Tested
- [ ] Table APIs ; blocked on `wrap` being not linear time update (this update should also make it possible to retrieve a `Func` from `vm::Anyfunc`)
  - [ ] Table set (implemented needs to be checked)
    - [ ] Documented with examples
    - [x] Implemented
  - [ ] Table grow (implemented needs to be checked)
    - [ ] Documented with examples
    - [x] Implemented
  - [ ] Table get
    - [x] Structure implemented
    - [ ] Documented
    - [ ] Tested
- [ ] Module APIs (probably separate)
- [x] Update import object macro to handle a lack of trailing commas as well
  - [x] Add line in changelog about it
  - [x] Tested

</details>

# Review

- [ ] Add a short description of the the change to the CHANGELOG.md file


Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Mark McCaskey <5770194+MarkMcCaskey@users.noreply.github.com>
2020-03-31 23:25:28 +00:00
2020-03-30 20:41:12 -07:00
2020-01-17 17:15:00 -06:00
2020-02-20 14:48:10 -08:00
2020-03-23 11:55:32 +09:00
2020-03-23 17:53:01 -07:00
2020-03-11 19:15:31 -07:00
2020-03-23 11:55:32 +09:00
2020-02-21 14:33:32 -08:00
2020-03-30 14:45:26 -07:00
2020-03-31 23:25:28 +00:00
2019-08-22 16:16:34 -05:00
2019-09-30 22:50:04 -07:00
2020-03-02 11:08:21 -08:00
2020-02-29 09:47:00 -08:00
2019-05-27 14:41:18 -07:00


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 logo Rust Docs Wasmer actively developed last release number of Github stars
C logo C/C++ Docs Wasmer actively developed last release number of Github stars
Python logo Python Docs Wasmer actively developed last release number of Github stars
Go logo Go Docs Wasmer actively developed last release number of Github stars
PHP logo PHP Docs Wasmer actively developed last release number of Github stars
Ruby logo Ruby Docs Wasmer actively developed last release number of Github stars
Postgres logo Postgres Wasmer actively developed last release number of Github stars
JS Logo JavaScript Docs Wasmer actively developed last release number of Github stars
C# logo C#/.Net Docs Miguel de Icaza actively developed last release number of Github stars
R logo R Docs Dirk Schumacher actively developed number of Github stars
Elixir logo Elixir Docs Philipp Tessenow actively developed last release number of Github stars
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! 👋

Channels

Description
No description provided
Readme MIT 80 MiB
Languages
WebAssembly 43.1%
Rust 40.8%
C 12.9%
C++ 2.3%
Shell 0.4%
Other 0.2%