数日前 トルステン・ベアレンス、 ウノ 開発チームリーダーの サブシステムのdLibreOfficeのグラフィックス、発表 人気のオフィススイートのデモ版の発行 でコンパイルされているLibreOffice コード 中間のWebAssemblyであり、Webブラウザで実行できます。
WebAssemblyを初めて使用する場合は、次のことを知っておく必要があります。 これはミドルウェアを提供します ユニバーサル アプリケーションを実行するためのブラウザに依存しない低レベル 編集済み さまざまなプログラミング言語から。 WebAssemblyは、高性能Webアプリケーションを構築するための最も有望でポータブルなクロスブラウザーテクノロジーとして位置付けられています。
WebAssembly のeは、高いパフォーマンスを必要とするタスクを解決するために使用できますたとえば、ビデオエンコーディング、サウンド処理、3Dグラフィックスと操作、ゲーム開発、暗号化操作、数学的計算、プログラミング言語のポータブル実装の作成などです。
WebAssembly Asm.jsによく似ています、ただし、JavaScriptにバインドされていないバイナリ形式であるという点で異なります。 明示的なメモリ管理が使用されるため、WebAssemblyではガベージコレクタを使用する必要はありません。
特徴的な機能 WASを使用するアプリケーションの実行モデルの概要サンドボックス環境で起動しています 各リソース(ファイル、ディレクトリ、ソケット、システムコールなど)でのアクションのために、メインシステムから分離し、容量管理に基づくセキュリティメカニズムを使用します。
WebAssemblyに変換するには、 Emscriptコンパイラ 出力を整理するために、変更されたQt5フレームワークに基づくVCL(ビジュアルクラスライブラリ)バックエンド。
LibreOfficeエディションとは異なり オンラインで、 WebAssemblyベースのコンパイルにより、ブラウザでオフィススイート全体を実行できますr、つまり、すべてのコードはクライアント側で実行され、LibreOffice Onlineはサーバー上のすべてのユーザーアクションを実行および処理し、インターフェイスのみがクライアントブラウザーに変換されます。
ブラウザ側からのLibreOfficeの主要部分の削除 コラボレーション用のクラウドエディションを作成し、サーバーから負荷を取り除き、 LibreOfficeデスクトップとの違いを最小限に抑え、スケーリングを簡素化し、オフラインで作業できるようにします。また、ユーザー間のP2Pインタラクションの編成と、ユーザー側でのエンドツーエンドのデータ暗号化を可能にします。 計画には、LibreOfficeに基づくウィジェットの作成も含まれています フルテキストエディタをページに統合します。
Wasmへの移行はEmscriptenツールチェーンによって実装されます LLVMの目標は、ネイティブCまたはC++コードをJavascriptおよびWebアセンブリに変換することです。
Asm.jsまたはいわゆるNativeClientにも同様のプロジェクトがすでに存在し、その後Webassemblyに取って代わられました。 GUIを含むLibreOfficeと同じくらい大きくて古いコードベースでさえ、Wasmのおかげでブラウザで実行できるようになったという事実は、テクノロジーがどれほど進歩したかを示しています。
しかし、 LibreOfficeチームにとって、Wasmポートでの作業はまだ終わっていません。 チームは、数週間前の今年のFosdemでのプレゼンテーションでこれを説明しました。
チームはまた、ポートについて次のように説明しました。
「たとえば、WasmはLibreOfficeにQtバックエンドを使用するようになりました。これにより、予想よりもはるかに多くの問題が発生しました。 さらに、解決すべき他のいくつかの考慮事項または問題が作業から浮かび上がります。 将来的には、チームはWasiインターフェースを使用し、場合によってはポート用に独自のWasmバックエンドを作成することもできます。 しかし、チームはまだそれほど進んでいません。」
さらに、LibreofficeのWasmポートは、当初、LibreofficeOnlineおよびそれに基づくCollaboraOnlineの代替として意図されていないと述べています。 それどころか、Wasmはクラウドアプリケーションではないため、ローカルで実行され、より優れたプライバシーを提供することになっています…
最後に それについてもっと知りたい、WebAssembly固有の修正が現在メインのLibreOfficeリポジトリで開発されていることに注意する必要があります。 次のリンクからブラウザでスイートを試すことができます。 (約300 MBのデータがユーザーのシステムにダウンロードされます)。