Plan 9: La Rinascita Inaspettata dell'OS che Sta Cambiando il Web
Wanix: Linux nel browser senza toccare il cloud
Ti ricordi quando per far girare una VM Linux dovevi per forza passare da un'istanza cloud? E se ti dicessi che puoi avviare un ambiente Alpine Linux completo, direttamente nel tuo browser, senza toccare alcun server?
Questo è esattamente ciò che fa Wanix. Dopo averci giocato un po', sono convinto che sia uno di quei progetti da tenere d'occhio.
Ma cosa diavolo è Wanix?
In sostanza, Wanix è un ambiente di tipo Unix che gira nel browser grazie a WebAssembly. Immaginalo come un mini sistema operativo ispirato a Plan 9, ospitato in una pagina web. Offre namespace per processo, una shell vera (rc, la shell di Plan 9) e la celebre filosofia del "tutto è un file". Il tutto in sandbox, tutto lato client, tutto per te.
La magia funziona attraverso web component personalizzati. Vuoi un terminale? Usi <wanix-term>. Ti serve una shell? <wanix-task>. Ti senti coraggioso? <wanix-vm> fa girare una VM Linux usando v86. L'intero ecosistema comunica attraverso un sistema di namespace che risulta stranamente familiare se hai mai usato Plan 9.
Perché proprio Plan 9?
Qui le cose si fanno interessanti. Plan 9 from Bell Labs era il successore di Unix, rilasciato a metà anni '90. Non ha mai avuto successo commerciale, ma ha introdotto idee davvero all'avanguardia:
- Namespace per processo: ogni processo può avere la propria vista del filesystem
- Directory union: combina più sorgenti filesystem in una singola vista
- Tutto è un file: dispositivi, processi, connessioni di rete, tutti accessibili tramite il filesystem
Concetti radicali nel 1995. Perfetti per il web development nel 2024. Il web moderno ha sempre più bisogno di eseguire logica complessa lato client mantenendo un isolamento rigoroso. Il modello a namespace di Plan 9 offre esattamente questo: controllo granulare su ciò che ogni "processo" (o task) può vedere e accedere.
Casi d'uso concreti
Basta teoria. Cosa puoi realmente fare?
Ambienti di sviluppo in sandbox: Immagina di avviare un workspace completo che vive in un tab del browser. Modifichi file in un ambiente simile a VS Code, esegui i tuoi comandi di build in una shell vera, senza toccare la tua macchina locale. Ideale per sessioni di pair programming o per dare a dei contractor accesso a spazi di codifica isolati.
Test cross-browser senza cloud: Fai boot di ambienti Linux diversi e testa il tuo software contro configurazioni varie, tutto in locale. Niente più attese per CI runner o costi per servizi di browser testing.
Operazioni file local-first: Workbench ti dà un IDE completo basato sul namespace Wanix. Ma la cosa interessante è che non serve solo per file locali. Puoi modificare file anche su namespace remoti. Combina un namespace locale con uno remoto e improvvisamente stai lavorando nell'ambiente di qualcun altro, collaborando in tempo reale attraverso il filesystem.
Sandbox educativi: Insegna concetti Unix, amministrazione di sistema o fondamenti dei container senza preoccuparti che gli studenti possano rompere sistemi di produzione. La sandbox è il tab del browser stesso.
Come funziona sotto il cofano
Per i curiosi, Wanix sfrutta una combinazione astuta di tecnologie:
- WebAssembly per eseguire codice nativo nel browser
- Web component personalizzati che astraggono la complessità (i tag
<wanix-*>) - Namespace binding che permette di montare file, archivi, persino altri namespace nell'ambiente
- 9P over WebSocket per accesso remoto ai namespace — sì, lo stesso protocollo che Plan 9 usava nel 1995
La bellezza sta nella semplicità. Tre tag ti danno una shell funzionante. Cinque tag ti regalano un IDE completo con terminale. I componenti si compongono naturalmente, seguendo la filosofia Unix del "fai una cosa sola, e falla bene".
Cosa significa questo per il web development
Stiamo assistendo a un cambiamento interessante. Per anni la tendenza è stata "spostiamo tutto sul cloud". Ma c'è una crescente consapevolezza che la computazione lato client ha i suoi vantaggi: latenza più bassa, nessun costo server, miglior supporto offline, privacy (i dati non lasciano mai la tua macchina).
Wanix si posiziona chiaramente in questo paradigma local-first. Non sta sostituendo l'hosting cloud —俗ealmagariamo realistic — ma sta esplorando uno spazio che le architetture tradizionali non possono affrontare facilmente. Se stai costruendo strumenti per developer, applicazioni collaborative o piattaforme educative, questo approccio merita la tua attenzione.
La gente di Plan 9 risolveva problemi di computing distribuito nel 1995 che ancora oggi stiamo affrontando. A volte il futuro somiglia parecchio al passato.
Vuoi sperimentare? Il CDN rende semplicissimo aggiungere Wanix a qualsiasi pagina. Ma avviso: una volta avviata la tua prima VM Linux nel browser, potresti trovarti in un buco molto interessante.