The idea of running any type of application on a browser without special modifications seems impossible, but it is getting closer faster than we think. The creators of WebVM are convinced of it, and their Linux online demo is quite convincing. This Debian-based virtual environment stands out for not depending on servers, since it works entirely on the client side, combining HTML5 and WebAssembly.
We have seen many virtual environments on the Web that allow us to explore old and modern operating systems. We also have all kinds of webapps with different levels of complexity. However, more solutions are needed, and above all, better ones.
The folks at Learning Technologies explain that the Web platform is becoming the dominant tool for application distribution, and the standardization of WebAssembly has only accelerated that trend. This allows developers to generate high-quality native code, enabling the delivery and execution of more advanced apps through the Web. Learning Technologies' goal is to run already existing applications in a browser, without modifications, without recompiling, and entirely on the client side. WebVM is just the first step.
WebVM: An online and virtual Linux in the browser
WebVM represents the union of three technologies: the x86 virtual machine CheerpX, written in C++ and compiled into a combination of JavaScript and WebAssembly, Xterm.js as the main user interface component, and a Debian Buster image in ext2 format with some preinstalled packages. Debian is distributed via CDN, and all users access the same image, while changes are preserved locally in the browser. In other words, WebVM is server-less (the folks at Red Hat offer an excellent explanation here), and it has no active server-side components.
For now, WebVM cannot do much more than run some examples, but the potential is enormous, starting with the possibility of running Debian binaries without alterations. Still, its performance is definitely a work in progress. The first load of the environment is quite slow (I imagine a faster connection will help), and it took several minutes to compile the Hello World example, but it works. The long-term goals are the execution of graphical Linux applications, and both Linux applications and games using WINE. We will be waiting.
Official site: Click here
Official announcement: Click here