WebAssembly Today ✍️ #13
Updates & commentaries on WebAssembly related technologies, including Rust, serverless, cloud, blockchain, and AI. Focus on the server-side.
Editorial: In the past week, we saw a lot of news on “serverless WebAssembly”. New services, new frameworks, and new real-world adoptions of WebAssembly on the server-side! Rust also saw further adoption by startups and big companies alike.
WebAssembly Today
A sneak peek of Rust function-as-a-service and the programmable web 😎
Check out this new article on how to deploy Rust functions as services in WebAssembly VMs. It is a sneak preview of the open source Joey project. High performance, stateful, secure, and programmable via callbacks. Welcome to the programmable web!
WebAssembly + OpenFaaS, the Universal Runtime for Serverless functions 🤠
Ramiro Berrellez will show how to use OpenFaaS and Krustlet to run WebAssembly functions on Kubernetes clusters at the Serverless Practitioners Summit EU 2020. This online event will be held on August 17, 2020. Check out his demo code.
🦕 Tutorial: Deno Apps with WebAssembly, Rust, and WASI
This article shows you how to run high-performance WebAssembly programs in Deno. The easy approach is to compile Rust functions into WebAssembly library functions, and then to call those library functions from Deno TypeScript. An alternative approach is to compile Rust programs into standalone WebAssembly applications, and then start the application using Deno command line tools.
Job: Looking for Rust developers on Fastly WebAssembly Team 🦀
Fastly is hiring Rust engineers to work on its server-side WebAssembly products!
Muze, creating data visualizations in the browser using WebAssembly 🌱
Muze is a free library for creating exploratory data visualizations (like Tableau) in the browser. It uses WebAssembly to achieve this.
Features:
Build sophisticated and interactive visualizations via composable layer constructs.
Use productive data operators to transform, visualize, and interact with data.
Define custom interactions by configuring physical behavioral models and side effects.
Use CSS to change the look and feel of the charts.
Have a single source of truth for all your visualizations and interactions.
Integrate easily with your existing application by dispatching actions on demand.
Uses WebAssembly for handling huge datasets and for better performance.
WebAssembly Calling Card (WACC)🌅
Beginners are often frustrated by the fact that a “hello world” in WebAssembly is often written in integers instead of strings. There are good reasons for that. But the WACC project turns this into a “feature”. It is a simple WebAssembly program to visualize integers. It is like “hello world”, but does much more than hello world in a way that is very WebAssembly!
WebAssembly in Google AI🤖
The MediaPipe team uses WebAssembly and XNNPACK ML Inference Library to create a live MediaPipe graph in the web browser.
They use Emscripten to compile C++ code into WebAssembly. Executing WebAssembly is generally much faster than pure JavaScript, but it is slower than native C++. The XNNPACK ML Inference Library further enhances 2-3x speedups in most MediaPipe applications.
MediaPipe helps developers build world-class ML solutions and applications for mobile, edge, cloud, and the web.
Building a multiplayer reversi game on the Internet Computer 🤼♀️
The decentralized Internet Computer by Difinity is built on the WebAssembly VM. This article shows how to build a multiplayer game on the Internet Computer.
The game backend is written in Motoko, which compiles into Wasm bytecode. The GUI frontend is built with Javascript and Mithril. It is stored as a separate asset canister directly on Internet Computer, and can be loaded via the game URL into a browser.
Tutorials 🏅
Rust news
Why QEMU should move from C to Rust 🦀
QEMU is a widely-used open source virtualization application. In recent years, most of its security issues were caused by memory errors in C code. That has sparked debate on C’s memory security. This post makes a strong argument to rewrite QEMU in Rust to get rid of those issues once and for all.
1Password announces Linux client preview, built with Rust + Electron 🦄
The backend of 1Password is written entirely in Rust. As a leader in security, 1Password’s choice of Rust is a vote of confidence in Rust as a secure systems language.
Rust Regex explanations in PWA 🚀
Regex or Regular expressions are powerful, but they can be hard to understand. This web application computes and explains any Regex expression and generates the Rust implementation code for it. Very useful!
Introducing Bevy ⛽️
Bevy is a refreshingly simple data-driven game engine built in Rust. It is developed by Carter Anderson with contributions from many in the community. It is free and open-source.
DevAndDev, a website written in Yew, Rocket, and Diesel 🦀
The DevAndDev website is where you can find pair programmers to improve your coding skills.
This website is completely written in Rust
Rocket for the backend
Yew for the UI
Disel to map Rust structs to Postgres
Meili raises 1.5M€ for open source search in Rust 👏
Meili raised 1,5M euros from LocalGlobe, Seedcamp, Kima & Tiny.vc. Meili’s Product is an open-source search engine MeiliSearch, which is completely written in Rust.
Serverless world
Headless meets serverless - a tierless architecture for frictionless enterprise 👀
The combination of current trends towards headless and serverless culminates in a new tierless architecture for the digital, frictionless enterprise. What a mouthful. 😅
Introducing TriggerMesh 👈
TriggerMesh, a cloud-native integration platform built on Kubernetes, announced an integration to connect virtually any non-AWS event source with AWS EventBridge. This integration extends the power of modern, cloud-based serverless architecture to mission-critical applications that still run in enterprise data centers.
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.today. Thanks!
Until then, stay safe, stay healthy! 😷