This will likely be my last WebAssembly newsletter of the year. It’s been an interesting one! I wish you all a happy and healthy end to your year and a positive start to 2021.

NoteCalc

GITHUB.IO

NoteCalc is an online notepad with built-in calculator functionality. While it isn’t as feature-rich as a spreadsheet, it is a fast an intuitive alternative for simpler calculation tasks.

notecalc

The entire application is written in Rust (compiled to WebAssembly). If you inspect the DOM you’ll see that it is one big canvas element. There are some obvious downsides to this approach, with text rendering and accessibility issues, however, it does mean that the author didn’t have to write any JavaScript. To quote the NoteCalc developer, they saw that as a big advantage - “I really consider Javascript a dangerous and unproductive language, so personally I would not use it for any serious project.” - that’s quite a strong opinion!

Anyhow, the point of this is not to start a language debate or flamewar, it is simply to highlight a really cool tool built using Rust and WebAssembly.

SciCharts Audio Analyzer Demo

SCICHARTS.COM

SciCharts is a commercial charting library that has been around for a number of years. Their product is available on a wide range of platforms, which by necessity means that they have had to re-write their charting engine in various languages. However, through WebAssembly they are now able to consolidate their code-base, using the same core rendering engine for their “JavaScript” charts.

Building a better monolith

SUBORBITAL.DEV

This blog post isn’t about WebAssembly specifically, instead it promotes an architectural pattern termed SUFA (Simple, Unified, Function-based Applications), which provides a middle ground between monoliths and microservices. Frameworks are emerging to support this architectural pattern, including Atmo, which is built on WebAssembly. There are a growing number of application frameworks, especially those built on the Actor Pattern, that make use of WebAssembly.

Debugging WebAssembly with modern tools

GOOGLE.COM

If you’ve done much WebAssembly development you’ll know that debugging can be a challenge. And this in turn harms the adoption of this fantastic technology. The Google team have been looking at using the DWARF debugging standard as an alternative to the more conventional approach of sourcemaps. This solution should provide a much better debug experience, and one that doesn’t feel like you are compiling to an underlying runtime’s instruction set. This blog post gives an update and a practical demo of what the team have achieved so far.

WebAssembly – Where is it going?

OPENCREDO.COM

Where is it going? Everywhere of course! This is a relatively brief blog post and might be familiar ground to most readers of this newsletter. However, I really like the way that this post is littered with lots of useful links. If you are new to WebAssembly this could be a great starting point for familiarising yourself with this exciting and growing technology.

And Finally …

The AssemblyScript compiler compiled to #WebAssembly using the AssemblyScript compiler compiled to WebAssembly now produces the exact same binary as the AssemblyScript compiler compiled to WebAssembly using the AssemblyScript compiler compiled to JavaScript. - got it?