Ruffle - A Flash Player emulator written in Rust

GITHUB.COM

The Flash player was launched in 1996 by a company called Macromedia and it took the internet by storm. At that time the rendering capabilities of HTML / JavaScript were incredibly weak. Flash brought smooth vector graphics to the web, resulting in an era of web cartoons and games. The reign of Flash came to a somewhat abrupt end in 2010, thanks in part to Steve Jobs .

This project seeks to keep the old Flash content on the web alive by creating a Flash player that runs on WebAssembly. So far the author has managed to emulate the vector graphics rendering, however, the more complex task of running ActionScript is still a work in progress. This is an ambitious and complex project, that has gained a lot of attention - much of it from the old “anti Flash” brigade!

I personally think that keeping old web content alive and useable is a very important goal - and thoroughly support this project. Long live Flash!

WebAssembly Interface Types: Interoperate with All the Things!

MOZILLA.ORG

You know you’re in for a treat when Lin Clark publishes another blog post, and this one doesn’t disappoint. In this post Lin explains the challenges around interfacing WebAssembly with the host environment (of which there are many different types, not just browsers). This post looks at the various proposals that have tackled this issue, including reference types, garbage collection and WebIDL bindings. The WebAssembly team are currently focussing on a new Interface Types proposal that provides a very broad and generic solution, which will make it very easy to integrate WebAssembly across different hosts and languages.

Interactive Earth - Thermal Convection

GITHUB.IO

We all love a flashy WebAssembly demo … this project implements thermal convection by “solving the advection equation with a semi-Lagrangian approach” - makes sense? Doesn’t matter, it’s a cool demo all the same. This project uses Emscripten and OpenGL.

World Map Generator

GITHUB.IO

And another cool demo, this time a random world map generator. This project is written in Rust and compiles to WebAssembly.

And Finally …

Should the official package name for Java compiled to WebAssembly be org.wasm? (do you get it?)