At the beginning of this month the Python community gathered in Salt Lake City for PyCon. A highlight of the event was a keynote presentation announcing PyScript, which allows you to run Python directly within HTML.
PyScript depends on the existing Pyodide project, which is a port of CPython (the reference implementation of Python) to WebAssembly.
This blog post dives into the technical details of how PyScript works, and why Anaconda created it. You can also find PyScript on GitHub.
Spin is an open source microservices framework built by Fermyon, which benefits from the lightweight and secure runtime model offered by WebAssembly. This blog post scheduling WebAssembly-backed services with HashiCorp’s Nomad.
Most emulators are interpreters, each instruction is executed by an application that mimics the behaviour of the emulated CPU. This project takes a different approach, x86 is translated directly into executable WebAssembly modules.The project has a whole host of demos, including Windows (2000, 98, 95) and various Linux-based OSs.
Yet more emulation! This time it’s the it’s the turn of the early 68k Mac. It’s so much fun to step back in time to use this influential operating system.
Not every WebAssembly story ends in success. Zaplib is a project that aims to accelerate web applications using Rust and WebAssembly. Sadly it didn’t work out, and their underlying assumption that it would be “10x more ergonomic to speed up your app, incrementally, in Rust” didn’t hold.
Here’s Windows XP running in the browser, just for the kicks. It’s so much fun to watch the old boot sequence!