A Plan 9 reneszánsza: Az a 90-es évekbeli kutatási operációs rendszer, ami forradalmasítja a böngésző-számítástechnikát
Böngészőben futó Linux? A Wanix az új játékváltó
Elárulom, évekig azt hittem, hogy egy Linux virtuális gép beüzemelése csakis drága cloud szerverekkel lehetséges. Aztán belebotlottam a Wanixba, és most itt ülök, és azt gondolom: ez az egyik olyan projekt, amit érdemes figyelni.
Mi a csuda a Wanix?
A lényege röviden: egy Wasm-alapú, Unix-szerű környezet, ami teljes egészében a böngésződben fut. képzeld el úgy, mint egy apró, Plan 9 ihlette operációs rendszert, ami egy weboldalon belül él. Kapod a klasszikus Unix filozófiát – minden fájl, minden folyamat izoláltan működik – csak épp kliens oldalon, sandboxban, a saját gépeden.
A varázslat a saját fejlesztésű web komponensekben rejlik. Kell egy terminál? Használd a <wanix-term> taget. Kell egy shell? <wanix-task>. És ha igazán merész vagy, a <wanix-vm> bebootol egy teljes Linux VM-et a v86 segítségével. Az egész ökoszisztéma kommunikál egymással egy namespace rendszeren keresztül – ha ismered a Plan 9-et, ez elsőre ismerős lesz.
Miért épp Plan 9? Komolyan?
Most jön a érdekes rész. A Plan 9-et a Bell Labs fejlesztette a Unix utódjaként a '90-es évek közepén. Soha nem lett kereskedelmi siker, viszont volt néhány zseniális ötlete:
- Per-process namespaces: minden folyamatnak saját nézete lehet a fájlrendszerről
- Union directories: több fájlrendszer forrást rétegezhetsz egyetlen nézetbe
- Minden fájl: eszközök, folyamatok, hálózati kapcsolatok – mindent fájlon keresztül érünk el
1995-ben ezek radikális ötletek voltak. 2024-ben? Tökéletesek. A modern web egyre inkább azt igényli, hogy komplex logika futhasson kliens oldalon, miközben szigorú izolációt tartunk fenn. A Plan 9 namespace modellje pontosan ezt adja: finomhangolt kontroll afelett, hogy mi látható és elérhető.
Amit tényleg használhatsz vele
Elég a szóból, nézzük a gyakorlatot:
Sandbox fejlesztői környezetek: Képzeld el, hogy egy komplett fejlesztői munkateret indítasz a böngészőben. Szerkeszd a fájlokat VS Code-stílusban, futtasd a build parancsokat igazi shellben – és mindezt anélkül, hogy hozzányúlnál a saját gépedhez. Tökéletes pair programmingra, átmeneti munkakörnyezetekre, vagy ha külsős fejlesztőknek izolált hozzáférést akarsz adni.
Cross-browser tesztelés felhő nélkül: Bootolj különböző Linux környezeteket, teszteld a szoftveredet különböző konfigurációkon – mindezt lokálisan. Nincs több CI runnerre várakozás, nincs browser testing szolgáltatásokra költés.
Local-first fájlműveletek: A Workbench egy teljes IDE-t ad a Wanix namespace tetején. De itt jön a lényeg: nem csak lokális fájlokhoz van. Szerkeszthetsz fájlokat távoli namespace-eken is. Rétegezz egy lokális és egy távoli namespace-et, és máris egy másik ember környezetében turkálsz, valós időben együttműködve a fájlrendszeren keresztül.
Oktatási sandboxok: Taníts Unix koncepciókat, rendszeradminisztrációt vagy konténer alapokat anélkül, hogy a diákok véletlenül (vagy szándékosan) szétvernék a prod rendszereket. A sandbox maga a böngésző tab.
A technikai részletek
A Wanix a következő technológiákat kombinálja:
- WebAssembly a natív-közeli kód futtatásához böngészőben
- Egyedi web komponensek, amelyek elvonatkoztatják a komplexitást
- Namespace binding, amivel fájlokat, archívumokat, sőt más namespace-eket is mountolhatsz
- 9P WebSocket felett a távoli namespace eléréshez – igen, ugyanaz a protokoll, amit a Plan 9 használt 1995-ben
A szépség az egyszerűségben rejlik. Három taggal kapsz egy működő shellt. Öt taggal már teljes IDE-t terminál hozzáféréssel. A komponensek természetesen komponálódnak, követve az Unix "egy dolgot jól" filozófiáját.
Mit jelent ez a webfejlesztésnek?
Érdekes eltolódást figyelhetünk meg. Évekig a trend az volt, hogy "minden a felhőbe költözik". De egyre nyilvánvalóbb, hogy a kliens oldali számításnak megvannak az előnyei: alacsonyabb latency, nincs szerver költség, jobb offline támogatás, és az adat sosem hagyja el a gépedet.
A Wanix pontosan ebben a local-first paradigmában ül. Nem fogja helyettesíteni a cloud hostingot – ne legyünk naivak – de egy olyan teret fedez fel, ahova a hagyományos architektúrák nehezen jutnak el. Ha fejlesztői eszközöket, kollaboratív alkalmazásokat vagy oktatási platformokat építesz, érdemes odafigyelni.
A Plan 9-es csapat 1995-ben már olyan elosztott számítástechnikai problémákat oldott meg, amikkel mi ma is küzdünk. Kiderült, hogy a jövő néha nagyon hasonlít a múltra.
Ki akarod próbálni? A CDN-nek köszönhetően pofonegyszerű hozzáadni bármilyen oldalhoz. De figyelmeztetlek: ha egyszer elindítod az első böngésző-alapú Linux VM-et, könnyen egy nagyon érdekes nyúljáratban találhatod magad.