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!
Access local files from web browsers via WASI 👏
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.
wasmbin: a self-generating WebAssembly parser & serializer 👊
The wasmbin library gives Rust developers the ability to manipulate WASM code directly in Rust source code as macros. Very impressive.
Towards sockets and networking in WebAssembly and WASI ✍️
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.
on "binary security of webassembly" 🗣
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, a free and unlimited file converter 💻
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.
WASM Sunray, a ray-tracing tool 👁
(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.
Vugu: a modern UI library for Go+WebAssembly (experimental) 😎
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.
A Podcast with Wasmer CEO 😋
You will learn more about WebAssembly on the server-side of course!
TypeScript to WebAssembly tutorial ✌️
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.
Tutorial: Create a WebAssembly app in GO 👏
Tutorial: Create a Swift program for WebAssembly 🤞
Make Swift programs interop with GO and Rust programs using WebAssembly as the go-between.
Tutorial: Using C++ in a web app with WebAssembly 🤭
Follow this tutorial to implement a simple algorithm written in C++ and make it available to a JS web app through WebAssembly.
The fastest and most energy-efficient languages ⚡️
Valve's Proton 5.13, now uses Rust 🦀
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.
Announcing Tokio 0.3 and the path to 1.0 🦀
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.
Proving that 1 + 1 = 10 in Rust 🔢
An interesting article to understand binary math in Rust.
genpdf, a user-friendly PDF generator written in pure Rust ✅
genpdf is a high-level PDF generator built on
Go serverless and save bigly 🌻
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.
Three Types of Serverless Monitoring Metrics on AWS 🦄
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! 😷