开发者通过WebAssembly力求让LibreOffice在Web浏览器中运行

一直以来LibreOffice Online作为LibreOffice的一个协作、基于网络的版本,利用HTML5 Canvas作为其用户界面,不过,技术的进步正在让开发人员正在使用WebAssembly将LibreOffice移植到网页浏览器上。

开发者Thorsten Behrens和Jan-Marek Glogowski在上周末的FOSDEM Online 2021上介绍了正在进行的工作,以移植LibreOffice,使其能与WebAssembly一起优雅地工作,从而实现在Web浏览器内运行开源办公套件。

与目前的LibreOffice Online/Collabora Online相比,WebAssembly版本仍然包含浏览器运行能力,但允许更多的工作发生在客户端,而不是大部分工作发生在服务器端。这使得运行当前的在线办公套件的开销较大,尤其是执行复杂的扩展时。用WebAssembly编译LibreOffice在很多年前WASM还处于起步阶段时就已经被关注,但现在他们正在利用LibreOffice和WASM的现代代码库取得更多进展。

今天的WebAssembly在各浏览器中的支持情况要比以往好得多,同时处理的事务变得更多,使得LibreOffice WASM更加可行,但仍然不是一件容易的事。WebAssembly内的线程有其自身的挑战,文件/地址空间限制也是正在克服的问题之一。他们已经能够构建所有的代码,但还不是所有的代码都能在WASM环境下运行。

目前,LibreOffice WebAssembly端口在Google Chrome/Chromium中工作和表现最好。开发者们希望在今年夏天让LibreOffice Writer在更多浏览器中工作,并能在HTML5画布上交互呈现。到秋天的目标是让一个演示也支持端到端加密编辑--这是LibreOffice Online目前暂时不支持的重要特性。

对2021年的LibreOffice WebAssembly移植感兴趣的人,可以阅读这个幻灯片(PDF)来了解目前的状态和挑战:

https://fosdem.org/2021/schedule/event/lo_wasm/attachments/slides/4693/export/events/attachments/lo_wasm/slides/4693/fosdem_2021_wasm_final.pdf

FOSDEM 2021的其他LibreOffice演讲可以在FOSDEM.org上看到。

您可能还会对下面的文章感兴趣: