WebAssembly Today ✍️ #21
Updates & commentaries on WebAssembly related technologies, including Rust, serverless, cloud, blockchain, and AI. Focused on the server-side.
Editorial: A new WebAssembly based serverless Function-as-a-Service (FaaS) launched this week. Try a live demo for image processing or Tensorflow face detection!
WebAssembly Today
64-bit WebAssembly 🥳
Memory64 is 64-bit WebAssembly, and it is happening! 64-bit CPUs are mainstream now. Memory64 gives the WebAssembly VM much more memory space to work with. It is great for server-side applications.
Second State serverless FaaS built on WebAssembly 🤩
Second State Function-as-a-Service (FaaS) is a high-performance serverless service. It supports the Rust programming language as a first class citizen. Based on WebAssembly, the Second State FaaS cold starts and runs much faster than VM or container-based alternatives. It is well suited for computationally intensive applications, such as media manipulation, data analytics, and edge AI / Tensorflow applications.
The Second State FaaS is still in beta. Deploy and use Rust functions as services for FREE during the beta period.No sign-up nor credit card needed. Create a static web page and use the FaaS as the backend service. Give it a Try.
AI services with WebAssembly 🧐
In the past two week, we came across two ways to run AI Models with WebAssembly. One is to compress and compile the TensorFlow models to WASM programs and the other one is to provide a WASI-like command API to run TensorFlow models natively on GPUs. Let us know which approach you like!
Kotlin gets WebAssembly 🤟
Kotlin is one of the most popular programming languages for mobile app development. It's new roadmap calls for a WebAssembly compilation target as well as improved support for writing server side applications.
A colliding galaxies simulation using Rust, ThreeJS, and WebAssembly 🌌
Creating a colliding galaxies simulation using Rust, ThreeJS, and WebAssembly. Colliding galaxies create blackholes. Create yours and see what's this year's Nobel prize is all about. :)
Improving webassembly and its tooling -- Q&A with Wasmtime’s Nick Fitzgerald 🧐
WebAssembly’s first major version focused on the browser. WebAssembly is now expanding its focus beyond just the browser. The vision of WebAssembly is to become a language agnostic and portable binary format on many platforms. This article explores topics around server-side WebAssembly with wasmtime’s Nick Fizgerald.
Apache's TVM deep learning compiler picks up webAssembly, better Rust support 👐
Apache TVM (incubating) is a compiler stack for deep learning systems.TVM 0.7 adds WebGPU and WebAssembly support.
Compile and run GO programs to WebAssembly 👏
This comprehensive tutorial walks you through the process to create a Go program, make async network calls from Go, compile to WebAssembly, and run it in web browsers. It depends heavily on the browser's JavaScript API to support operations such as network calls.
Going from JavaScript to WebAssembly in three steps 💪
This article discusses how the Mocrio Storytelling Platform enhances performance with WebAssembly in browsers. The results showed that the client performance is 65% better than its predecessor, the JS file size is 60% smaller, and the codebase became a lot cleaner, with a clear separation between AssemblyScript and JavaScript responsibilities.
A complete introduction to WebAssembly and its JavaScript API 🤖
This article teaches us how to integrate WebAssembly with the JavaScript through the JavaScript WebAssembly API.
Rusty News
Rust 1.47.0 is released 🦀
The compiler now supports traits on arrays of any length. That is very useful for Rust crates on machine learning and AI. Those algorithms use large high dimensional arrays all the time.
Portable SIMD support in Rust 🦄
Rust aspires to be the language for high performance, hardware optimized computing. SIMD support in the new generation of CPUs is a must-have.
A high performance MJML template engine 👏
MJML is a markup language to write responsive email messages. This Rust project converts MJML content to HTML, which can then be used in the email body. Of course, it also works in WebAssembly!
eventually: Event-sourcing in Rust 👀
Eventually released the v0.4.0. New features:
Much more detailed documentation
Publishing and subscribing to events committed in the in-memory and Postgres backed Event Store
Support for Event Subscriptions and Projections. Read-optimized (i.e. materialized views) in near real-time and using optimistic locking
Rust meets the web - a clash of programming paradigms ✍️
This article analyzed the pros and cons of Rust and JavaScript on the web. He concluded that Rust and WebAssembly on the web will have a bright future.
Rust after the honeymoon 💑
Two years ago, Bryan Cantrill wrote about how he fell in love with Rust. Two years later, he is still in love. Read his latest blog post to see why experienced Rust developers contribute to use and love this language.
Memory safe curl in Rust 🦀
The curl program is probably one of the most commonly used utility programs in the age of web APIs. Its creator is now making it memory safe by rewriting in Rust.
Serverless World
The full stack serverless manifesto 🤓
AWS's Nader Dabit published a manifesto on the future of end-to-end applications based on the serverless paradigm. Serverless = FaaS + BaaS. The future looks bright for serverless!
Why the serverless revolution has stalled 🤔
Serverless was here to bring a new era of cloud computing in 2006, but it hasn’t happen yet.
From the author, there are four factors that affect serverless revolution:
Limited Programming Languages
Vendor Lock
Performance
You Can't Run Entire Applications
The author thought serverless should not be viewed as a replacement for servers. What do you think?
Comparing AWS, Google, and Microsoft for serverless 👏
Make the right choice among different serverless providers based on four criteria: cost, ease of integration, the number of services as event source and destination, and industry adoption metrics.
The future outlook of serverless 💪
According to the article, the future of serverless and the production readiness of serverless for many use cases will continue to improve and the potential to cover many others is arriving. The industry expects serverless to be the default computing platform by 2025.
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! 😷