開發者通過WebAssembly力求讓LibreOffice在Web瀏覽器中運行
一直以來LibreOffice Online作為LibreOffice的一個協作、基於網絡的版本,利用HTML5 Canvas作為其用戶界面,不過,技術的進步正在讓開發人員正在使用WebAssembly將LibreOffice移植到網頁瀏覽器上。
開發者Thorsten Behrens和Jan-Marek Glogowski在上週末的FOSDEM Online 2021上介紹了正在進行的工作,以移植Libre Office,使其能與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)來了解目前的狀態和挑戰:
FOSDEM 2021的其他LibreOffice演講可以在FOSDEM.org上看到。