WebAssemblyをWebブラウザ以外の実行環境へ。システムインターフェイスへのアクセスを可能にする「WASI」の策定開始。Mozillaが呼びかけNode.jsらが賛同
Mozillaは、WebAssemblyにファイルやネットワーク、メモリなどのシステムリソースへ安全にアクセス可能にするAPIの標準仕様「WASI」(WebAssembly System Interface:動画では「ワズィ」と発音しているように聞こえます)の策定を開始したと発表しました。
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の基本的な要素にならってファイル、ネットワーク接続、クロック、ランダム番号などが含まれる予定。
その後、非同期I/O、ファイルウォッチ、ファイルロックなどの策定へと進む見通しとされています。
FastlyのLucetはWASIへの対応を表明
Fastlyが発表したWebAssembly実行環境のLucetは、WASIへの対応を表明しています。
あわせて読みたい
ビッグデータ時代のために開発された高密度光ディスクの実力と可能性とは。100度で熱してもデータが壊れない耐久性と長寿命[PR]
≪前の記事
WebAssemblyが50マイクロ秒以下で起動する「Lucet」。コンパイラとランタイムをFastlyがオープンソースで公開