TOPアプリ/OS > Mozilla、WebAssemblyアプリ開発のインタフェ...

アプリ/OS

Mozilla、WebAssemblyアプリ開発のインタフェースを標準化する「WASI」を発表

2019/04/01

Serdar Yegulalp InfoWorld

 WASIのもう1つのポイントは、動作の対象がサンドボックスで限定されていることだ。Mozillaはファイルアクセスの例を挙げている。WASIの配下でWebAssemblyアプリケーションがファイルオープンの呼び出しを行う場合、そのアプリケーションに読み書きの権限が明示的に与えられているディレクトリーのファイルのみが対象となる。この権限は、モジュール単位で限定して付与することもできる。

 WASIを使うには、既存のWebAssemblyを再コンパイルして正しく動作させる必要があるが、WebAssembly自体がまだ発展途上の段階なので、こうした変更が大きな支障をきたすことはないはずだ。現時点でWebAssemblyアプリケーション開発の主要言語であるRustとC/C++は、LLVMのWebAssemblyコード生成機能を通じてWASIをサポートしている。

 WASIを使って開発したWebAssemblyアプリケーションを動かすには、現行のWebブラウザーが実装している通常のWebAssemblyの機能では足りない。現時点で動かすには2つの方法がある。1つは、Webブラウザーでポリフィルを使う方法だ。JavaScriptの実験的機能を使うのと同じような形である。もう1つは、Webブラウザーを使わないスタンドアロンのWebAssemblyランタイムを使う方法だ。こうしたランタイムには「wasmtime」や「Lucet」があり、Mozillaのコードジェネレーター「Cranelift」を利用している。いずれはWebブラウザーがWASIをネイティブにサポートすることをMozillaは望んでいる。

(了)

翻訳:内山卓則=ニューズフロント
記事原文(英語)はこちら

↑ページ先頭へ