WebAssembly Today #4
Updates & commentaries on WebAssembly related technologies, including Rust, serverless, cloud, blockchain, and AI. Focused on the server-side.
ONNC compiles AI models to WASM bytecode 🧮
ONNC, an open-source compiler for AI models, now supports WebAssembly. With the onnc-wasm module, developers can now compile ONNX models to WebAssembly bytecode. That means developers could run AI operations directly on WebAssembly virtual machines. The team demonstrated how to compile and run ONNX models on the Second State WebAssembly VM. Learn more at its GitHub repo.
Pilot the SpaceX Crew Dragon in Go and WebAssembly🚀
SpaceX made history last week. After the Crew Dragon Capsule docked with the ISS, the astronauts remarked how accurate the computer simulations were. Well, you too can simulate docking with ISS using WebAssembly from your browser!
Photon, an image processing library for WebAssembly 🌇
Photon, an image processing library, is written in pure Rust and compatible with WebAssembly. Benchmarks show that Photon is much faster than ImageMagick and the Python Imaging Library.
As of now, Photon provides 96 image processing functions, allowing developers to blur, crop, blend and resize images, and so on. With WebAssembly support, Photon can be used both inside the web browser and on the server-side.
A new O’Reilly book on WebAssembly 📚
Brian Sletten is writing a new book called “WebAssembly: The Definitive Guide”, to be published by O’Reilly and Associates. We wonder which animal will be on this book cover!
WebAssembly for blockchain front end 🔗
Server-side WebAssembly is now the norm among blockchain projects. Leading projects such as Ethereum, Polkadot, EOS, Near, Oasis Labs all use WebAssembly as the smart contract execution engine, or even as the runtime for node clients themselves.
But WebAssembly on the blockchain is not limited to the server-side. Slixe used VUE and WASM to build a blockchain explorer. Read more at its GitHub repo.
A multiplayer board game is written in Rust and WebAssembly🕹
Pont, a new multiplayer online board game, uses Rust for both client-side and server-side. Rust is compiled to WebAssembly to run in the browser on the client-side. A simple JavaScript shim is used to load the WebAssembly module from an HTML web page.
Fun fact: Developer Matt Keeter wrote Pont for his parents to have fun during the stay-at-home order.
Rusty news
Rust ranks top 20 in TIOBE for the first time 🤗
According to the TIOBE index, Rust is now the 20th most popular programming languages in the world. In 2019, Rust ranked No.38. It is one of the fastest rising programming languages. It turns out that developers not only love Rust, but they also use it too!
A full-text search engine in rust 🔍
Toshi is a full-text search engine similar to Elasticsaerch. Toshi takes full advantage of Rust’s memory safety. It does not use unsafe code while trying to achieve the highest performance possible.
Embed Python in Rust
ct_python enables developers to embed Python code in Rust source code. The embedded Python generates Rust source code at compile time. It is ideal for scenarios such as generating static data or testing data.
An experimental serialization system is written in Rust 🔢
Tree-Buf is an efficient data serialization system written in Rust and built for real-world data sets and applications.
Compared with other data serialization frameworks, such as Message Pack, GeoJson, and even CSV, Tree-Buf is both faster and more efficient in bandwidth use. Here are some of Tree-Buf’s key features.
Compact representation
Very fast encode and decode
Flexible schemas
Self-describing
Serverless world
Blockchain is the Ultimate Serverless Platform 🗝
InformIT, the online learning hub for Pearson Education, published an article titled “blockchain is the ultimate serverless platform”. Blockchain smart contracts are analogous to serverless functions. Check out why and how.
The CIO’s Guide to Serverless Computing by Gartner 😊
Gartner released a new guide to serverless computing. It says “Serverless computing is a key technology that is redefining the way enterprises build, consume and integrate cloud-native applications.”
From this guide, developers could learn:
What is serverless computing?
The value of serverless computing
Key capabilities of serverless computing
How does serverless computing differ from other virtualization technologies?
Structure your organization to take advantage of serverless