WebAssembly Today ✍️ #22
Updates & commentaries on WebAssembly related technologies, including Rust, serverless, cloud, blockchain, and AI. Focused on the server-side.
Editorial: Lots of news on WebAssembly this week!
The WebAssembly Systems Interface (WASI) allows WebAssembly apps to access the file system. So, now you can access local files from a browser-based app.
The wasmbin library gives Rust developers the ability to manipulate WASM code directly in Rust source code as macros. Very impressive.
WASI gives WASM programs access to operating standard libraries, except for networking and sockets! This article proposes a way to add socket support for WASI and describes a minimal implementation in AssemblyScript and Rust.
This article provides a critical response to the paper “Everything Old is New Again: Binary Security of WebAssembly”, which we covered in past issues. Worth reading.
File Converter converts media files, including images and videos, from one type to another, right inside your browser. Behind the scene, it uses the FFMPEG library, which is compiled to WebAssembly, to perform the conversion in the browser.
(The image is generated from WASM Sunray, and I added the watermark via serverless wasm.)
WASM Sunray is written in Rust and compiled to WebAssembly to run in the browser. It uses thread.js to run the WASM rendering functions in a worker thread.
Have you ever wanted to write a Web UI without JS? Try Vugu, a VUE-js inspired library in GO, and compiled to WebAssembly. Write Web UI in Go and run it in the browser.
You will learn more about WebAssembly on the server-side of course!
In this article, Fernando Doglio explained what is AssemblyScript and how it is different from regular TypeScript. He gave a step by step tutorial on how to create, compile, and run AssemblyScript programs in WebAssembly.
Make Swift programs interop with GO and Rust programs using WebAssembly as the go-between.
Follow this tutorial to implement a simple algorithm written in C++ and make it available to a JS web app through WebAssembly.
Proton 5.13 is released. The exciting news is that Proton is now using Rust, in production, as part of media-converter!
Proton works with the Steam client to support Windows games on Linux.
The Tokio team announced the release of Tokio 0.3, aka the Tokio 1.0 beta.
Changes to IO traits.
New runtime builder.
The I/O driver is overhauled
The API is future-proofed.
An interesting article to understand binary math in Rust.
By moving from container services to FaaS, Armedia reduced its yearly cost for one service from $1,730 to $4. It is a cost-saving of 99.8%! The blog post detailed the serverless architecture they used and how it created the saving.
This article introduces the serverless metrics that are crucial to your application’s health. It is a good read for IT professionals.
Enjoyed reading this newsletter? Please subscribe to make sure that you do not miss a future issue. ❤️
This newsletter is a collaborative effort. Don’t forget to leave comments! Suggest topics or projects you would like to see we cover next week via contact at webassembly dot today. Thanks!
Until then, stay safe, stay healthy! 😷