シェアしました。
2019年4月1日
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への対応を表明しています。
あわせてお読みください
- Mozillaが「WebAssembly Studio」発表。C/Rust/AssemblyScript対応のオンラインIDE
- WebAssembly対応、主要ブラウザChrome/Firefox/Edge/Safariで整う。Webアプリの開発言語としてJavaScript以外の選択肢は広がるか?
- Go言語がWebAssemblyをサポートへ。GOARCHは「wasm」、GOOSは「js」に
- V8、Firefox、Microsoft Edgeが「WebAssembly」の実装を発表。将来のWebの共通バイナリフォーマットへ期待
- カテゴリ Web技術 / JavaScript
- タグ Mozilla, WebAssembly
0 件のコメント:
コメントを投稿