WebAssembly Today ✍️ #25
Updates & commentaries on WebAssembly related technologies, including Rust, serverless, cloud, blockchain, and AI. Focused on the server-side.
Editorial: In the past week, we see the acceptance of and backlash against WebAssembly both on the client-side and the server-side. It is a sure sign that WebAssembly is gaining mindshares among developers.
The a-Shell team tweeted that Apple has requested them to remove curl, pip, and wasm commands from their software. The a-Shell is app is “Unix for iOS”. It provides a full-screen command-line interface for a mobile device. Apple has a long-standing policy of not allowing non-Apple software runtimes in the App store. They obviously see WebAssembly as a threat to the App Store monopoly. The future of WebAssembly is to challenge the app store from the web!
Atmo is a framework for building web services by composing WebAssembly functions. It takes a declarative description of your application (called a Directive), which specifies how the application dispatches events and requests to WebAssembly functions. This reduces developers’ need to write boilerplate. Atmo is the flagship product of Suborbital.
OpenShift Service Mesh 2.0 has added support for WebAssembly extensions to Istio. Meanwhile, OpenShift Service Mesh announced it would remove support for Mixer extensions in future versions.
AssemblyLift is a framework for building serverless applications powered by WebAssembly (WASM). AssemblyLift provides network & storage services to WebAssembly functions via its IO Modules.
Wasmer 1.0 Alpha 5 brings a number of additions to its C language API, more examples for its Rust API, a new Wasmer create-exe sub-command, upgraded Cranelift, better LLVM auto-detection, and a variety of other improvements.
This video discusses why and how enterprise developers should care about WebAssembly on the server-side. It boils down to traditional enterprise values: security, isolation, and performance.
The email-parser is a fast and lightweight email parsing library written in pure Rust. It achieves high performance through the pay-as-you-use idiom in Rust. It only parses header values you specify, and other header values will be parsed as an unstructured.
This blog post, written by Vorner, discussed how the Avast team tracked down a bug in a Rust application in production. There are a lot of interesting insights on how to debug Rust programs.
Dark is a new programming language. It aims to make building backend services much easier. The author explained why they didn’t simply choose Rust.
memory management in code is tedious
pattern matching doesn't work all that well
too many ways to do things (Arc vs Rc, async vs sync, different stdlibs)
the language isn't immutable
having to fight the compiler
Of course, Rust developers might have a different opinion and actually consider those as strengths of the language!
The Theseus OS is an operating system written in Rust and embodies many of the idioms of the Rust design. It experiments with a novel OS architecture, provides better state management, and shifts OS responsibilities like resource management into the compiler. Theseus OS targets high-end embedded systems or edge data center environments.
Rust community conference RustFest Global was held on 7th November. Sessions were streamed from three time zones across the globe. You can purchase tickets to watch the recorded videos now.
Learn how to structure a Rust project for better testability with a simple authentication module.
A complete guide for cloud computing beginners. You will learn the basic knowledge of Virtual Machines, containers, and serverless computing.
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! 😷