mirror of
https://github.com/fluencelabs/wasmer
synced 2025-05-29 09:51:19 +00:00
Improved docs, adding repo structure and libraries README
This commit is contained in:
parent
74875ed554
commit
cd284e8a75
18
README.md
18
README.md
@ -20,12 +20,23 @@ curl https://get.wasmer.io -sSfL | sh
|
|||||||
`wasmer` can execute both the standard binary format (`.wasm`) and the text
|
`wasmer` can execute both the standard binary format (`.wasm`) and the text
|
||||||
format defined by the WebAssembly reference interpreter (`.wat`).
|
format defined by the WebAssembly reference interpreter (`.wat`).
|
||||||
|
|
||||||
Once installed, you will be able to run any wasm module (_including Nginx!_):
|
Once installed, you will be able to run any WebAssembly files (_including Nginx, and Lua!_):
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
# Run Lua
|
||||||
|
wasmer run examples/lua.wasm
|
||||||
|
|
||||||
|
# Run Nginx
|
||||||
wasmer run examples/nginx/nginx.wasm -- -p examples/nginx -c nginx.conf
|
wasmer run examples/nginx/nginx.wasm -- -p examples/nginx -c nginx.conf
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Code Structure
|
||||||
|
|
||||||
|
Wasmer is structured into different directories:
|
||||||
|
|
||||||
|
- [`src`](./src): code related to the wasmer excutable binary itself
|
||||||
|
- [`lib`](./lib): modularized libraries that Wasmer uses under the hood
|
||||||
|
|
||||||
## Building & Running
|
## Building & Running
|
||||||
|
|
||||||
To build this project you will need Rust and Cargo.
|
To build this project you will need Rust and Cargo.
|
||||||
@ -63,7 +74,6 @@ You can also run integration tests with:
|
|||||||
make integration-tests
|
make integration-tests
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## Roadmap
|
## Roadmap
|
||||||
|
|
||||||
Wasmer is an open project guided by strong principles, aiming to be modular, flexible and fast. It is open to the community to help set its direction.
|
Wasmer is an open project guided by strong principles, aiming to be modular, flexible and fast. It is open to the community to help set its direction.
|
||||||
@ -72,9 +82,9 @@ Below are some of the goals (written with order) of this project:
|
|||||||
|
|
||||||
- [x] It should be 100% compatible with the [WebAssembly Spectest](https://github.com/wasmerio/wasmer/tree/master/spectests)
|
- [x] It should be 100% compatible with the [WebAssembly Spectest](https://github.com/wasmerio/wasmer/tree/master/spectests)
|
||||||
- [x] It should be fast _(partially achieved)_
|
- [x] It should be fast _(partially achieved)_
|
||||||
- [ ] Support Emscripten calls _(on the works)_
|
- [x] Support Emscripten calls _(on the works)_
|
||||||
- [ ] Support Rust ABI calls
|
- [ ] Support Rust ABI calls
|
||||||
|
- [ ] Support GO ABI calls
|
||||||
|
|
||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||
|
32
lib/README.md
Normal file
32
lib/README.md
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
# Wasmer Libraries
|
||||||
|
|
||||||
|
Wasmer is modularized into different libraries, separated into three main sections:
|
||||||
|
* [Runtime](#Runtime)
|
||||||
|
* [Integrations](#Integrations)
|
||||||
|
* [Backends](#Backends)
|
||||||
|
|
||||||
|
## Runtime
|
||||||
|
|
||||||
|
The core of Wasmer is the runtime.
|
||||||
|
It provides the necessary abstractions on top of the WebAssembly specification.
|
||||||
|
|
||||||
|
We separated the runtime into two main libraries:
|
||||||
|
* [runtime-core](./runtime-core/): The main implementation of the runtime
|
||||||
|
* [runtime](./runtime/): Easy-to-use wrappers on top of runtime-core
|
||||||
|
|
||||||
|
## Integrations
|
||||||
|
|
||||||
|
The integrations are separated implementations in top of our runtime, that let Wasmer run more WebAssembly files.
|
||||||
|
|
||||||
|
Wasmer intends to support different integrations:
|
||||||
|
* [emscripten](./emscripten): it let us run emscripten-generated WebAssembly files, such as lua or Nginx.
|
||||||
|
* Go ABI: _we will work on this soon! Would you like to help us? 💪_
|
||||||
|
* Blazor: _researching period, see [tracking issue](https://github.com/wasmerio/wasmer/issues/97)_
|
||||||
|
|
||||||
|
|
||||||
|
## Backends
|
||||||
|
|
||||||
|
The backends let Wasmer generate code from WebAssembly files, in a way that is abstracted from the
|
||||||
|
IR library itself.
|
||||||
|
|
||||||
|
* [clif-backend](./clif-backend/): The integration of Wasmer with Cranelift
|
Loading…
x
Reference in New Issue
Block a user