2020年2月5日水曜日

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

https://www.publickey1.jp/blog/19/webassemblywebwasimozillanodejs.html
シェアしました。

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


0 コメント:

コメントを投稿