2019-01-22 19:34:36 +00:00
# Wasmer Libraries
Wasmer is modularized into different libraries, separated into three main sections:
2019-01-22 20:23:53 +00:00
- [Runtime ](#Runtime )
- [Integrations ](#Integrations )
- [Backends ](#Backends )
2019-01-22 19:34:36 +00:00
## Runtime
2019-01-22 20:23:53 +00:00
The core of Wasmer is the runtime, which provides the necessary
abstractions to create a good user-experience when embedding.
The runtime is divided into two main libraries:
2019-01-22 19:34:36 +00:00
2019-01-22 20:23:53 +00:00
- [runtime-core ](./runtime-core/ ): The main implementation of the runtime.
- [runtime ](./runtime/ ): Easy-to-use api on top of runtime-core.
2019-01-22 19:34:36 +00:00
## Integrations
2019-01-22 20:23:53 +00:00
The intergration run on-top of the Wasmer runtime and allow us to run WebAssembly files compiled for different environments.
2019-01-22 19:34:36 +00:00
Wasmer intends to support different integrations:
2019-01-22 20:23:53 +00:00
- [emscripten ](./emscripten ): run emscripten-generated WebAssembly files, such as [Lua ](../examples/lua.wasm ) or [Nginx ](../examples/nginx/nginx.wasm ).
- Go ABI: _we will work on this soon! Want to give us a hand? ✋_
- Blazor: _researching period, see [tracking issue](https://github.com/wasmerio/wasmer/issues/97)_
2019-01-22 19:34:36 +00:00
## Backends
2019-01-22 20:23:53 +00:00
The Wasmer [runtime ](./runtime ) is designed to support multiple compiler backends, allowing the user
to tune the codegen properties (compile speed, performance, etc) to fit your usecase best.
Currently, we support a Cranelift compiler backend:
2019-01-22 19:34:36 +00:00
2019-01-22 20:23:53 +00:00
- [clif-backend ](./clif-backend/ ): The integration of Wasmer with Cranelift