WebAssemblyランタイムを開発するWasmerは「Wasmer JavaScript SDK」(@wasmer/sdk)のアップデートを発表した。JavaScriptランタイムのNode.jsやBunのサポートが追加され、NodeやBunからwasmバイナリを直接実行可能になったという。
WebAssembly(Wasm)ランタイムを開発するWasmerは2024年11月1日(米国時間)、WASI(X)アプリケーションをブラウザで簡単に実行するためのライブラリである「Wasmer JavaScript SDK」(@wasmer/sdk)のアップデート(v0.9.0)を発表した。
WASI(WebAssembly System Interface)は、WebAssemblyでネットワークやファイル、メモリなどのシステムリソースを抽象化するAPI仕様。WASIXは、WASIを拡張してPOSIX(Portable Operating System Interface)の機能を利用可能にする仕様だ。Wasmer JavaScript SDKを使えば、あらゆるWASIパッケージやWASIXパッケージを簡単に実行できるようになる。
@wasmer/sdkのアップデートにより、JavaScriptランタイムのNode.jsやBunのサポートが追加され、他の依存関係をインストールせずにバニラのNode.js環境でC/C++コンパイラ「clang」など、wasmerに対応するプログラムやパッケージを実行可能になったという。
Wasmerによると、以前の@wasmer/sdkでは、仕様上のギャップにより、Node.jsやBunから直接実行できていなかったという。具体的には、サブプロセスや非同期の標準入出力をサポートするために使用していた「JavaScript Worker API」(Web上でマルチスレッドを処理するためのブラウザAPI)と、Node.jsのworker_threads APIに3つの違いがあったためだ。
Wasmerはこれらのギャップを埋めるための調査を実施し、「web-worker」と呼ばれるNPMパッケージを使用することで、このギャップを解消させ、v0.9.0を公開したという。
Wasmerは、Node/Bunでcowsayを実行するサンプルプログラムをGitHubで公開している。
Copyright © ITmedia, Inc. All Rights Reserved.