LibreOffice 团队一直在致力于将其编译到 WebAssembly (WASM),以便在浏览器中执行或可能以可移植的方式在桌面上运行,如 Wasmer 和 Wasmtime。
现如今,一个编译为 WebAssembly 的 LibreOffice 实验版本 (名为 LOWA) 已发布。根据介绍,它基于 still-prototype LibreOffice 7.4 代码库,尚未准备好用于生产。更多详情信息可查看 Thorsten Behrens 在本月举行的 FOSDEM 2022 上的演讲。
大约有 300MB 大小,因此加载需要一点时间;感兴趣的用户可以在浏览器中进行尝试。
LOWA 的开发者使用 Emscripten 将 LibreOffice 的主要 C++ 代码编译成 WASM。Emscripten 是 Mozilla 研究员 Alon Zakai 开发的一个编译器项目,最初的目标是将 C/C++ 代码编译成一种叫做 Asm.js 的 JavaScript 变体。Asm.js 可以在任何浏览器中运行,但它只是 JavaScript 语言的一个子集;有意忽略了 JavaScript 语法中一些比较模糊的特性,留下了一种更加精简的方言;而且最重要的是,它更容易被运行时引擎优化以提高性能。
TheRegister 认为,鉴于现如今 WASM 的普及和广泛支持程度,它很有可能取代 JVM,成为跨平台应用程序的标准运行时。但 WASM 也有许多东西还需学习;尤其是在紧凑性、速度以及与操作系统的整合等方面。