WebAssembly on the Server Side: What is WASI?
What is WebAssembly (aka WASM)? These and similar questions were answered by our IT Consultant Pascal Fries at the Chemnitz Linux Days 2023. In this article, we briefly summarize his presentation and make the slides and video stream available for download.
In 1996, JavaScript (JS) was introduced so that dynamic websites could be created. However, besides some advantages (sandboxed, natively supported in the browser, portable), the technology also has disadvantages (e.g., it is slow). In 2017, there was WASM 1.0, which brought the same advantages, but was significantly faster than JS.
How does WASM work?
WASM allows you to write code in any language and compile it to wasm32-x. It can be instantiated in the browser via JS and users can call exports from JS if necessary. For Frontends “without”
JS the question now arose how to “translate” between DOM and WASM. The solution: wasm-bindgen
Now you might ask yourself: WASM server—why and how?
WASM is secure (sandbox), portable (JITC bytecode), and fast (small footprint). So much for the why. To take full advantage of it, you need an interface that you can define with WIT. It is called WASI and is still in the alpha stage, but can already be used to develop applications.
So, in summary, although server-side WASM is still in its early stages, it already provides a good way to develop modular APIs.
● WASM for the front end (+++)
● WASM as plug-in (++)
● WASI for host interactions (+)
● WASM run times (++)
Here, you can find the complete presentation and the video stream of the talk.
Pascal Fries
Latest posts by Pascal Fries (see all)
- WebAssembly on the Server Side: What is WASI? - 5. June 2023
- Container building with Kaniko - 1. April 2022