WebAssemblyランタイム「Wasmer」がiOSをサポート、iOS上でWebAssemblyを実行。「Wasmer 5.0」正式版リリース

2024年11月7日

米Wasmer社はスタンドアロンなWebAssemblyランタイム「Wasmer 5.0」の正式リリースを発表しました。

Wasmer 5.0では、iOSのサポート、WebAssemblyランタイムのバックエンドがV8やWAMRなどに変更可能になるなどの新機能が加わりました。

iOS上でWebAssemblyを実行

iOSではこれまでSafariブラウザ上以外でのWebAssemblyの実行は制限されており、そのため2022年にリリースされたWasmer 2.1でのiOSのサポートは、WebAssemblyファイルをiOSのダイナミックライブラリ形式である「.dylib」にプリコンパイルすることで(何らかのアプリケーションからの呼び出しにより)実行可能にするという変則的なサポートにとどまっていました。

参考:WebAssemblyランタイム「Wasmer 2.1」リリース。WASI用に仮想ファイルシステムを実装し、ブラウザでもWASIが利用可能に

Wasmer 5.0ではその制限が一部緩和されたようで、iOS上でWasmerによる直接WebAssemblyの実行が可能になりました。

Wasmer 5.0がiOSをサポート

ただしiOSではSafari以外のサードパーティアプリでのJITの実行が制限されているため、新たに追加されたインタプリタモードでの実行となります。インタプリタモードは後述のV8、Wasmi、WAMRによるものです。

WasmerのiOSサポートによってiOS上でスタンドアロンのWebAssemblyランタイムによるWebAssemblyの実行という選択肢が追加されたことになります。

バックエンドにV8やWAMRなど選択可能に

Wasmerはデフォルトの機能としてWebAssemblyバイナリをネイティブバイナリに変換して実行するコンパイラとして、Singlepass、Cranlift、LLVMの3種類を備えているほか、macOSとLinux環境ではJavascriptCoreなどを用いてWebAssemblyバイナリの実行を可能にしています。

今回、このWebAssemblyランタイムのバックエンドとしてV8、Wasmi(Wasm Interpreter)、WAMR(WebAssembly Micro Runtime)が実験的に選択可能になりました。

V8はGoogleが開発するChromeのJavaScriptエンジンとして知られています。V8を利用することで高性能なJITやガベージコレクション機能を実現するWasmGCなど、V8の高い性能と最新の機能を利用できるようになります。

Wasmiは組み込み機器など限られたコンピューティングリソースを想定したWebAssemblyのインタプリタで、WAMRもIoTやエッジなどでの利用を想定した軽量なWebAssemblyランタイムとして開発されており、それそれのバックエンドの特長を活かすことでWasmerをさまざまな環境での実行に適応させることが期待されます。

そのほかWasmer 5.0では性能向上、コードのスリム化などの改善も行われました。

あわせて読みたい

WebAssembly プログラミング言語 iOS Wasmer




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本