πŸŽ‚ πŸŽ‰ πŸŽ‚ πŸŽ‰ πŸŽ‚ πŸŽ‰ πŸŽ‚ πŸŽ‰ πŸŽ‚ πŸŽ‰ πŸŽ‚ πŸŽ‰ πŸŽ‚ πŸŽ‰ πŸŽ‚ πŸŽ‰

Happy Birthday to me! This is the 52nd issue of WasmWeekly, making this the birthday issue. Raise a glass 🍾 have a slice of cake 🍰 and celebrate πŸŽ‰ !

Calls between JavaScript and WebAssembly are finally fast πŸŽ‰

MOZILLA.ORG

For WebAssembly to do anything useful, it must interoperate with its host, via imported and exported functions. Depending on the nature of your WebAssembly application, you might be making a significant number of these calls, therefore it is important that these calls are quick, otherwise the performance benefit of using WebAssembly is undermined.

Making interop calls fast is actually quite challenging as illustrated by Lin in this excellent article. The good news is, the Mozilla team have made significant improvements, making these calls very fast indeed.

(I’d like to think the party popper emoji in this URL in celebration of issue #52!)

Picovoice - Offline Voice AI

PICOVOICE.AI

There aren’t that many commercial applications of WebAssembly yet, which is why Picovoice is really exciting! This product provides browser-based voice recognition, allowing you to build voice-activated assistance. As you can imagine, the number-crunching capabilities of WebAssembly are ideal for this type of use case.

WasmDec - A WebAssembly to C Decompiler

GITHUB.COM

The WebAssembly Binary Toolkit (WABT) includes tools that ca convert wasm binaries into the more readable WebAssembly Text Format. However, the output is still a little hard to grok! This project allows you to decompile to C, giving a much more accessible output.

And Finally …

WebAssembly is starting to feel like a mainstream technology, there’s even a website dedicated to WebAssembly jobs!