WebAssembly Today #5
Updates & commentaries on WebAssembly related technologies, including Rust, serverless, cloud, blockchain, and AI. Focused on the server-side.
Service management framework Istio now allows WebAssembly functions to operate on data exchanged between services on the fly. It is another great use of WebAssembly in the cloud and DevOps environment.
The WebAssembly bytecode program is written in Rust. It runs inside the WebAssembly based SSVM, and is called from the Node.js web application.
WebAssembly strikes again in the browser! Video-Transcoder is a browser-based video Transcoder, powered by WebAssembly. All the processing is done in the browser. There are no more uploading video files to a server. Faster and more private!
This project is still very early in development. Read more at its GitHub Repo.
WARDuino is a WebAssembly VM for microcontrollers, like Arduino. One of its unique features is remote debugging on those devices.
TinySearch, full-text search engine built with Rust and WebAssembly 🔍
TinySearch is a lightweight, fast, full-text search engine. It is designed for static websites.
TinySearch is written in Rust, and then compiled to WebAssembly to run in the browser. It could be used together with static site generators Such as Jekyll, Hugo, Zola, and Cobalt.
8cc.wasi is a WASI port of 8cc built on ELVM. 8cc is a compiler for C programming language and supports all C11 language features.
With 8cc.wasi, we can compile C code into ELVM IR(EIR), and then compile EIR into WASI. Then we can run the WASI file in WebAssembly runtimes.
Facebook uses Rust in Libra (Facebook’s cryptocurrency) and Mononoke projects. Well known tech companies, such as Microsoft, Amazon, Dropbox, and Discord, are also using Rust internally.
Rust gets a deterministic physics simulation engine. This is very useful in developing games, robotics, and scientific applications.
By using fixed point math instead of floating-point math, this simulation library can generate the exact same simulations across different hardware. Could also be useful on blockchains where nodes running different hardware must agree on the computation results at all times.
nphysics also supports WebAssembly.
RustCrypto 2.0 releases many Rust crates (libraries) for cryptography algorithms. Most of those crates do not depend on the standard OS library (ie no_std), and hence are suitable for blockchain and WebAssembly applications!
Microsoft has deemed C++ no longer acceptable for writing mission-critical software. The industry sorely needs to move to a performant, memory-safe language for its low-level system work. And the best choice on the market today is Rust.
Microsoft really loves Rust!
Rust is great for systems programming. How about a terminal-based system monitoring tool written in Rust? Zenith looks great in a remote text terminal.
MarketsandMarkets™ published a new research report on the Serverless architecture market. The global Serverless Architecture Market size is projected to grow from USD 7.6 billion in 2020 to USD 21.1 billion by 2025, at a Compound Annual Growth Rate (CAGR) of 22.7% during the forecast period.
MongoDB Realm is a serverless database for mobile application backends. It optimizes for battery and network bandwidth use of those devices.
Talking Serverless published an article on how to choose a serverless platform for development. Key considerations include:
Programming Language Support
Supplementary Cloud Services
Browser based IDE and Workflow
Cloud computing is the key to digital transformation in the era of COVID-2019. The use of microservices, containers, and DevOps has a great influence on the adoption of hybrid cloud architectures.