Plan 9 är tillbaka – 90-talets gäckande forsknings-OS erövrar webben
Kör du fortfarande Linux i molnet? I din webbläsare – helt utan server
Tiderna förändras. För inte så länge sedan behövde du en dyr molninstans för att köra en Linux-VM. Idag? Nu kan du starta en fullfjädrad Alpine Linux-miljö direkt i webbläsaren. Inte en simulerad terminal. En riktig VM.
Det är precis vad Wanix gör. Och efter att ha lekt med projektet ett tag är jag övertygad – det här är något utvecklare behöver hålla ögonen på.
Vad är Wanix egentligen?
Wanix är ett WebAssembly-baserat Unix-liknande system som körs helt i din webbläsare. Tänk dig ett litet, inspirerat operativsystem som lever inuti en webbsida.
Det ger dig per-process-namnutrymmen, ett ordentligt skal (rc, Plan 9-skalet), och den klassiska "allt är en fil"-filosofin. Allt sandboxat. Allt på klientsidan. Helt och hållet ditt.
Magin ligger i några specialbyggda web components. Vill du ha en terminal? Släng in <wanix-term>. Behöver du ett skal? <wanix-task>. Känner dig modig? <wanix-vm> startar en Linux-VM med v86. Hela ekosystemet pratar med varandra genom ett namnutrymmesystem som känns skrämmande bekant om du någonsin har använt Plan 9.
Varför Plan 9? På fullaste allvar?
Här blir det intressant. Plan 9 from Bell Labs var Bells Labs efterträdare till Unix, släppt i mitten av 90-talet. Det fick aldrig kommersiellt genomslag, men det introducerade några genuint framsynta idéer:
- Per-process-namnutrymmen: Varje process kan ha sin egen vy av filsystemet
- Union directories: Lägg samman flera filsystemskällor till en enda vy
- Allt är en fil: Enheter, processer, nätverksanslutningar – allt nås genom filsystemet
Dessa koncept var radikala 1995. De är perfekta för modern webbutveckling. Varför? Eftersom dagens webb alltmer behöver köra komplex logik klientsidan samtidigt som vi behöver strikt isolering. Plan 9:s namnutrymmesmodell ger dig exakt det – finjusterad kontroll över vad varje "process" (eller i vårt fall, varje task) kan se och komma åt.
Praktiska Use Cases som faktiskt fungerar
Okej, nog med teori. Vad kan du göra med det här?
Sandboxade utvecklingsmiljöer: Tänk dig att snabbt starta en komplett utvecklingsarbetsyta som lever i en webbläsarflik. Redigera filer i en VS Code-inspirerad arbetsbänk, kör dina build-kommandon i ett riktigt skal – utan att röra din lokala maskin. Perfekt för pair programming-sessioner, tillfälliga arbetsmiljöer, eller för att ge konsulter tillgång till isolerade kodmiljöer.
Cross-browser testning utan molnet: Boot upp olika Linux-miljöer och testa din programvara mot diverse konfigurationer – allt sker lokalt. Ingen mer väntan på CI-runners eller pengar till browsertestningstjänster.
Lokal-först filoperationer: Workbench ger dig en fullfjädrad IDE backad av Wanix namnutrymme. Men här är grejen – det handlar inte bara om lokala filer. Du kan redigera filer på fjärr-namnutrymmen också. Lägg ihop ett lokalt namnutrymme med ett fjärrstyrt, och plötsligt befinner du dig i någon annans miljö, samarbetar i realtid genom filsystemet.
Utbildning och sandboxing: Undervisa i Unix-koncept, systemadministration eller container-grunder utan att oroa dig för att studenter av misstag (eller med flit) förstör produktionssystem. Sandboxen är webbläsarfliken själv.
Den tekniska implementationen
För de nyfikna: Wanix fungerar genom en smart kombination av teknologier:
- WebAssembly för att köra nativliknande kod i webbläsaren
- Custom web components som abstraherar bort komplexitet (de
<wanix-*>-taggarna) - Namespace binding som låter dig montera filer, arkiv, och till och med andra namnutrymmen i din miljö
- 9P över WebSocket för fjärråtkomst till namnutrymmen – ja, samma protokoll som Plan 9 använde 1995
Skönheten ligger i enkelheten. Tre taggar ger dig ett fungerande skal. Fem taggar ger dig en komplett IDE med terminalåtkomst. Komponenterna komponerar naturligt, följer Unix-filosofin "gör en sak, gör den väl".
Vad det här betyder för webbutveckling
Vi bevittnar en intressant förskjutning. I åratal har trenden varit "lägg allt i molnet". Men det finns en växande insikt om att klientsidig beräkning har fördelar: lägre latens, inga serverkostnader, bättre offline-stöd, och integritet (data lämnar aldrig din maskin).
Wanix sitter mitt i denna lokal-först paradigm. Det ersätter inte cloud hosting – låt oss vara realistiska – men det utforskar ett område som traditionella arkitekturer inte enkelt kan adressera. Om du bygger verktyg för utvecklare, samarbetande applikationer, eller utbildningsplattformar, förtjänar det här tillvägagångssättet din uppmärksamhet.
Plan 9-gänget löste distribuerade datorproblem 1995 som vi fortfarande kämpar med idag. Det visar sig att framtiden ibland ser ut som det förflutna.
Vill du experimentera? CDN:en gör det busenkelt att lägga till Wanix på vilken sida som helst. Men rättvisa varning: när du väl har bootat din första webbläsarbaserade Linux-VM kan du upptäcka att du har ramlat ner i ett mycket intressant kaninhål.