A la hora de usar aplicaciones y sistemas operativos a través de la web, lo habitual es encontrarnos bien con aplicaciones web que actúan como VNC (Virtual Network Computing), bien con meras simulaciones creadas mediante tecnologías como Flash o JavaScript, de funcionalidad muy limitada. Es decir, que o bien se ejecutan en un servidor remoto, o que bien no son en absoluto el software que pretende ser.
Pero, ¿es posible que un software complejo —como, pongamos, una distribución Linux o una suite ofimática— se ejecute de forma nativa en nuestro navegador web? Sí, gracias a una tecnología lanzada en 2017: HTML5/WebAssembly.
WebAssembly es un estándar abierto que nos permite ejecutar en la Web código binario; es decir, compilado y desarrollado recurriendo a lenguajes como C/C++, y ofreciendo un rendimiento más cercano al habitual del código compilado que al del interpretado. En WebAssembly, el software se ejecuta dentro de una 'stack machine' (una clase especial de máquina virtual).
Linux en WebVM
Los usuarios de Windows ya cuentan con acceso a un subsistema Windows para Linux (WSL), que permite ejecutar una distribución Linux como un programa Windows. Pero, ¿y si pudiéramos ejecutar un entorno Linux como si fuera un sitio web?
Una instancia de VIM ejecutándose dentro de mi navegador gracias a WebVM.
Eso es exactamente lo que nos ofrece WebVM: un entorno Debian (con las herramientas básicas y sin entorno de escritorio) que se ejecuta dentro de una máquina virtual basada …