When using applications and operating systems through the web, the usual thing is to find ourselves well with web applications acting as VNC (Virtual Network Computing), well with mere simulations created using technologies such as Flash or JavaScriptvery limited functionality. That is, they either run on a remote server, or they are not at all the software they purport to be.
But is it possible for complex software—like, say, a Linux distribution or an office suite— runs natively in our web browserb? Yes, thanks to a technology launched in 2017: HTML5/WebAssembly.
WebAssembly es an open standard that allows us to run binary code on the web; that is, compiled and developed using languages such as C/C++, and offering a performance closer to that of the usual compiled code than that of the interpreted code. In WebAssembly, the software runs inside a ‘stack machine’ (a special kind of virtual machine).
LINUX and GNU: LINUX: WHAT IT IS AND HOW IT WORKS
Linux in WebVM
Windows users already have access to a Windows Subsystem for Linux (WSL), which allows you to run a Linux distribution as a Windows program. But, what if we could run a Linux environment as if it were a website?
that’s exactly what WebVM offers us: a debian environment (with tools bbasic and without a desktop environment) that runs inside a virtual machine based on CheerpX. This machine is capable of generating new WebAssembly modules on the fly from x86 code.
When WebVM runs, CheerpX starts a Bash process which allows us to interact with Linux and start other derived processes by typing the relevant commands. The user interface is based on the Xterm.js component, while the third major WebVM component is a disk image in Ext2 format with a bunch of pre-installed packageswhich are delivered through a CDN.
The latter does not mean that it does not run on the client side: all users access the same disk image from the aforementioned CDNand individual changes we make are persisted locally in the browser, which means WebVM supports “millions of concurrent users with minimal costs and resources.”
Libreoffice ‘made in Allotropia’
But Linux isn’t the only software that can run on a WebAssembly virtual machine inside your browser: the German company Allotropia, which offers consulting services for the open source office suite LibreOffice, also puts at our disposal a web service what allows us to run said suite in our browser.
When we open it, we must take into account that will download around 300 MB of data directly to our browser, so it may take a while to load if we have a slow connection. But once downloaded, according to most users who have tried it, the performance of the tool is very close to that of a native Libre Office window.
The main problem it presents when using it as a substitute for Office 365 or Google Docs is that it is not able to open files from our hard drivehaving access only to the content of its own virtual machine.