WANIX takes WebAssembly to the next level. Edit, compile, and run WebAssembly from a WebAssembly UNIX-like environment entirely in the browser. Written in and using Go as a runtime, WANIX draws from Genera and Plan9 to provide a local-first operating and development environment of the future.
This is the story of a WebAssembly native operating system and integrated development environment called WANIX. From a wild idea at a hacker party to a fully realized open source project, WANIX opens up a world of mind expanding possibilities only possible because of WebAssembly.
It started with the realization that Go’s self-hosting cross-platform compiler could itself be compiled to WebAssembly, creating a pure WebAssembly way to not only make more WebAssembly modules, but executables for any platform. Then, inspired by the beginnings of UNIX and ideas from Genera and Plan9 operating systems, only a few more elements were needed to create a familiar, UNIX-like computing environment that could edit, compile, and run WebAssembly; a foundation to bootstrap much more.
WANIX features a web worker based process model, a programmable filesystem exposed back to the browser via a service worker, a shell that can be modified and recompiled live or switched out with another, a compiler that can build native executables or executables for your host platform, a terminal emulator for command-line and TUI apps, and an iframe based system for web applications.
This 30 minute talk is jam-packed with not only how WANIX was made by veteran software hacker Jeff Lindsay, but, more importantly, where we can go from here.