WebAssemblyをWebブラウザ以外の実行環境へ。システムインターフェイスへのアクセスを可能にする「WASI」の策定開始。Mozillaが呼びかけNode.jsらが賛同

2019年4月1日

Mozillaは、WebAssemblyにファイルやネットワーク、メモリなどのシステムリソースへ安全にアクセス可能にするAPIの標準仕様「WASI」(WebAssembly System Interface:動画では「ワズィ」と発音しているように聞こえます)の策定を開始したと発表しました

WASI

WebAssemblyはもともと、Webブラウザ上でネイティブコード並の実行速度でアプリケーションを実行することを目的に策定されたバイナリフォーマットです。しかしFastlyの「Lucet」やCloudflareの「Cloudflare Workers」のように、WebAssemblyをポータブルなバイナリフォーマットとして、Webブラウザ以外の環境でのアプリケーション実行環境で用いるケースが登場してきました。

そこで、こうしたWebブラウザ以外の実行環境において、WebAssemblyに備わっていることが望ましいさまざまなシステムインターフェイスを策定し実現するのが「WASI」の目指すところです。

これまでWebAssemblyやWebブラウザ上であればどの環境でもポータブルなアプリケーションを実現していました。

WASIと対応ランタイムによって、WebAssemblyはプロセッサやOSなどに依存せず、しかも通常のアプリケーションのようにファイルやネットワークなどのリソースにアクセス可能な機能を備えつつ、どこでもネイティブコード並みの実行速度で実行できる、ポータブルで扱いやすいアプリケーション表現形式になる見通しです。

WASIには現時点でMozilla、Fastly、Node.js、npmが賛同しています。

まずWASI-coreのAPIを策定。その後範囲を広げていく

WASIは最初から必要なAPIをすべて策定するのではなく、モジュール形式で拡張していく方針をとると説明されています。まず最初に策定されるwasi-coreは、POSIXの基本的な要素にならってファイル、ネットワーク接続、クロック、ランダム番号などが含まれる予定。

WASI fig2

その後、非同期I/O、ファイルウォッチ、ファイルロックなどの策定へと進む見通しとされています。

FastlyのLucetはWASIへの対応を表明

Fastlyが発表したWebAssembly実行環境のLucetは、WASIへの対応を表明しています。

このエントリーをはてなブックマークに追加
follow us in feedly




カテゴリ

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed


最新記事10本