WebAssembly Today ✍️ #6
Updates & commentaries on WebAssembly related technologies, including Rust, serverless, cloud, blockchain, and AI. Focus on the server-side.
Kubernetes for WebAssembly written in Rust! 🤖
We have talked about WebAssembly replacing Docker containers before. Well, this project is another step toward that vision. It allows Kubernetes to manage WebAssembly VMs alongside with Docker containers! Best part? It is written in Rust!
The future of Data Science is JavaScript and WebAssembly ✅
Rob Blackbourn Wrote a series of articles to demonstrate the future of Data Science is JavaScript and WebAssembly. The project is still in a very early stage, but to run FORTRAN in WebAssembly? I’d love to see that!
Here are the reasons he mentioned:
JavaScript could provide the elegant syntax
WebAssembly could provide a near-native speed
Portable: the applications written in JS and Wasm could run in any browser and server-side JS engine, such as Node.js
WebAssembly is well supported with C.
Wasm streams: connect the web streams and Rust streams 🌉
The Wasm streams bridges the gap between web streamsandRust streams. There are other ways to call JavaScript functions from Rust source code, but this new project stands out as it demonstrates a way to do it asynchronously through the Futures crate.
The Wasm streams project provides Rust APIs for interacting with a JavaScript ReadableStream
, WritableStream
or TransformStream
. It also allows converting between a ReadableStream
and a Rust Stream
, as well as between a WritableStream
and a Rust Sink
.
Play SRB2 in your web browser with WebAssembly 🏌️♂️
You can play SRB2 in your browser with SRB2-emscripten. SRB2 is written in C, and players must download the compiled binary to local desktop to play. SRB2-emscripten compiles the C code to WebAssembly. Then we can play the game in the browser without installing any software.
EXACT, A X86 iAPX CPU Emulator, written in WebAssembly 💻
EXACT is an acronym for 'Emulating X86 iAPX CPU on NeT'. It is written in WebAssembly, so you can emulate Intel iAPX 86/10 in your browser. For now, EXACT has supported all instructions and parts of registers and RAM.
A WebAssembly System Interface implementation for Deno 🦕
Deno supports WebAssembly through its underlying V8 runtime engine. But, unlike Node.js, Deno had yet to support the WASI features in V8, which allows WebAssembly programs to access system resources such as the operating system. Well, the wait is now over! The deno-wasi project provides the necessarily functions and meta data structures to run V8 in WASI mode in Deno.
WebAssembly.org updated 👓
WebAssembly.org recently updated the website.
Featured server-side wasm runtimes on the homepage. We have always said, the future of WebAssembly is on the server-side.
A new getting started page to help developers quickly find the resources they need.
Rusty News
Tonari use Rust to advance the state-of-the-art in real time communication ☎️
Tonari, a real-time communication startup in Japan, built their software from ground up in Rust. It achieved 3k, 60fps real-time video conference quality with only 130ms latency. That represents a 2x performance improvements over the popular WebRTC in both quality and latency.
Almost every real-time software company uses open-source WebRTC. However, WebRTC is also very hard to customize due to its large codebase. Tonari aims to build its technology “edge” by creating better and more efficient software, in Rust.
Tauri, writting desktop apps in Rust 🖥
Tauri is a Rust framework for building desktop apps. It is similar to the popular Electron framework for JavaScript, but faster and much smaller.
JetBrains 2020 developer survey on Rust 🌻
JetBrains released its 2020 developer survey last week. As one Reddit user puts it, “Rust is the only language where more people are interested in learning it than currently using it”. That could predict strong growth for Rust in the next several years. Also from the survey: most people currently use Rust for the hobby. That is, people want to Rust even if they are not paid!
PyO3 supports stable Rust 🌹
PyO3, Rust bindings for the Python interpreter, now supports stable Rust.
The pure Rust implementation of the TLS protocol 🐚
The pure Rust implementation of the TLS protocol is audited. Rust is on its way to become a dominant programming language for web applications.
Deno released v1.1.0 and v1.1.1🦕
Deno v1.1.0 and v1.1.1 are released. Lots of improvements to the CLI and bug fixes.
Just do this to upgrade your Deno install:
deno upgrade —version 1.1.1
If you are interested in what Deno is all about, check out this InfoQ article.
Serverless world
The end of IaaS is the dawn of serverless. 😎
Companies started to transforming the cloud from running applications in Virtual Machines. But now containers and serverless are going to take place of VMs, which will be the future of cloud computing.
ServerlessDays came to China for the first time 🤓
ServerlessDays are a family of events around the world focused on fostering a community around serverless technologies.
The first ServerlessDays China was held on 19th June 2020, organized by Tencent cloud.
If you missed this event, go to https://china.serverlessdays.io/en/ for videos.