WasmバイナリをWin/Mac/Linuxで実行可能なバイナリファイルへ変換可能に「Wasmer 3.0」正式リリース
今回は「WasmバイナリをWin/Mac/Linuxで実行可能なバイナリファイルへ変換可能に「Wasmer 3.0」正式リリース」についてご紹介します。
関連ワード (実行、手元、説明等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
スタンドアロンのWebAssemblyランタイム「Wasmer」の最新版「Wasmer 3.0」が正式リリースされました。
Announcing Wasmer 3.0https://t.co/Nay8Po9FXk
— Wasmer (@wasmerio) November 23, 2022
Wasmerはオープンソースで開発されているWebAssemblyランタイムです。
WebAssemblyの動向を調査しているThe State of WebAssembly 2022によると、WasmerはWebAssemblyランタイムとして事実上の参照実装であるWasmtimeに続いて2番目に人気のあるランタイムとなっています。
参考:WebAssemblyアプリ開発ではRustが一番人気、用途ではサーバレスが急上昇、ランタイムはWasmtime。The State of WebAssembly 2022
WindowsやMac、Linuxで実行できるネイティブバイナリの生成が可能に
Wasmer 3.0での注目の新機能は、WindowsやMac、Linuxでそのまま実行できるネイティブバイナリの生成機能でしょう。これによりWebAssembly経由でさまざまなプラットフォーム向けのバイナリが生成できることになります。
具体的にはWebAssemblyバイナリからWasmerがターゲットとなるプラットフォームに対応した静的なバイナリを生成し、そのバイナリを読み込んで実行する最小限にWasmerのサブセットをリンクして実行形式にするものです。
これによりWebAssemblyの特徴である安全なサンドボックスを備えつつ、ネイティブなバイナリの実行が可能になると説明されています。
また、WebAssemblyのパッケージマネージメントとレジストリの機能を備えたWAPMも機能強化が行われました。
これまではいったんWebAssemblyのパッケージを手元のマシンにダウンロードしてからでないとパッケージを実行することができなかったのですが、「wasmer run」コマンドで直接リポジトリ上のパッケージを指定すると、自動的にダウンロードが行われてそのまま実行されるようになりました。
そのほかWasmer 3.0では高速化やWASI対応の改善、コンパイラの改善、実行エンジンのシンプル化など多くの改善が行われています。