Wasmerは、業界標準のAPI仕様である「WASI」を拡張してPOSIXに対応した新技術「WASIX」を発表した。WASIXを利用すれば、コードを修正することなく、既存アプリケーションをWebAssemblyで実行できる。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
WebAssembly(Wasm)ランタイムを開発するWasmerは2023年5月30日(米国時間)、「WASI」(WebAssembly System Interface)を拡張してPOSIX(Portable Operating System Interface)に対応した「WASIX」を発表した。
WASIXは、WebAssemblyでネットワークやファイル、メモリなどのシステムリソースを抽象化するAPI仕様であるWASIを拡張したものだ。Wasmerは発表の中で、以下のように述べている。
「2019年に発表されたWASIは、Wasmコミュニティーにとって大きな後押しとなったが、改善のペースの遅さが普及を妨げてきた。WASIXはWASIの提案を拡張し、POSIXとの完全な互換性を持つことで、有用で生産的なアプリケーションを構築できる」
WASIXは、既存のWASI ABIの長期的な安定化とサポートに加え、実用的で有用なアプリケーションを今すぐコンパイルして使用できるように、WASIに足りないギャップを十分に補うためのシステムコール拡張を追加するものだ。
スレッドやバークレーソケット、フォークなど、POSIXのほとんどで利用可能だった機能をサポートすることで、どのようなアプリでも簡単にWasmにコンパイルして、どこでも実行可能になる。
最小限の修正でWasm/WASIXにコンパイルできるようになったプログラムは、CurlやcPython、Bash、tokio、axumなどだ。
WASIXでは、以下の機能を拡張しているという。
WASIXプログラムは、ブラウザとサーバのどちらでも公式サイトから試すことができる。
Wasmerの作成したwasmer-webでは、あらゆるWASIXプログラムが、ブラウザ上で実行するWasmerでも動作することを示している。Wasmerは、以下のように述べている。
「実装上の問題点も幾つかあるが、WasmerはWASIXを他のビルドターゲットと同じように信頼性が高く、使いやすいものにするために日々取り組んでいる。そして、CアプリケーションをWASIXに簡単にコンパイルできるようにするために、C用のツールチェインを開発中だ」
Copyright © ITmedia, Inc. All Rights Reserved.