EVENTお知らせ・イベント情報ALLお知らせイベントプレスリリースメディアWebAssemblyをどう使うか、事例を通じて学ぼうお知らせ2023年7月24日ブラウザではJavaScript以外にもWebAssemblyという実行エンジンが用意されています。WebAssemblyは特定のプログラミング言語を指す言葉ではなく、CやC++、Rustなどさまざまな言語からWebAssembly用の実行ファイルを作成できます。本記事ではWebAssemblyの利用例を紹介します。いった場面での利用にWebAssemblyが向いているのか、ぜひチェックしてください。動画・Webカメラ動画配信サイトやWebカメラなど、メディアをWebAssemblyで処理するケースです。Videoではレンダラやアニメーション、シーンなどリソース管理についてWebAssemblyを利用しています。これによって中価格帯のテレビでフレームタイムが改善したり、メモリ消費量も改善したとのことです。Videoが動画再生にWebAssemblyを採用。PublickeyDisney+Disney+ではスマートフォンやセットトップボックス、ゲームデバイスなどマルチデバイスで動画を再生できるようにWebAssemblyが使われています。したさまざまなデバイスを抽象化するレイヤーがあり、その上でWebAssemblyで作られたクライアントアプリケーションが用意されています。ディズニー、Disney\+の動画配信クライアントにWebAssemblyを採用。Meetでは背景のぼかし、仮想背景の処理でWebAssemblyが使われています。Webカメラからのメディアデータを取り込んで、WebAssemblyによるぼかし処理のあとで出力します。人を検出する部分では、XNNPACKとTFLiteによるWebベースのML推論が用いられています。Blog実行環境プログラミング言語の実行エンジンをWebAssembly化することで、JavaScript以外のプログラミング言語がブラウザ内で実行できます。PyScriptPyScriptはWebブラウザ上でPythonスクリプトが書けるソフトウェアです。PythonエンジンをWebAssembly化し、ブラウザ内でPythonスクリプトを解釈します。3.2でリリースされたRubyによる公式WebAssemblyサポートです。以下のように、ブラウザ上でRubyコードを実行できます。world!"</script></html>```ruby\.wasm仮想環境・エミュレータープログラミング言語のエンジンだけでなく、仮想マシンレベルでWebAssembly化する手法もあります。WebVMWebVMはLinuxマシンをWebAssembly化しています。vimやgcc、Pythonなどのコマンドが利用できます。WebAssemblyMERUMERUは各種ゲームエミュレーターをWebAssembly化したソフトウェアです。ファミコン、スーパーファミコン、ゲームボーイ、ゲームボーイアドバンスが利用できます。MERUcontainer2wasmcontainer2wasmではx86やRISC-VがWebAssembly化されています。x86の場合はDebianで169MB、RISC-Vは83.2MBとなっています。demoRuffleRuffleはWebAssemblyでFlashファイルを実行できるエミュレーターです。Webとデスクトップ、両方で実行できるのを想定しています。WebAssembly\.ソフトウェア各種ソフトウェアの中でもWebAssemblyが利用されています。playgroundPostgresをWebAssembly化したソフトウェアです。ブラウザでSQLを実行し、その結果を確認できます。DataFFMPEG.WASMFFMPEG.WASMは動画変換を行うFFMPEGをWebAssembly化したソフトウェアです。各種パラメーターを指定して動画を変換したり、画像を動画にしたりできます。FFMPEG\.WASMTensorFlow.jsTensorFlow.jsでは推論処理にWebAssemblyを利用しており、従来のJavaScript処理を10倍以上高速にしています。PublickeyWordPressWordPressで利用されているPHPとデータベース(SQLite3)をWebAssembly化したソフトウェアです。仮想ファイルシステムも用意し、ローカルでWordPressが動作します。LabsまとめWebAssemblyはUIやネットワークが利用できないといった制限があります。処理はJavaScriptと比べて圧倒的に高速です。したWebAssemblyの利点を活かす場面は多々あります。WebAssemblyらしい使い方を探してください。Startedまずは無料トライアルでHexabaseを用いた開発を体験してみてください。UsHexabaseの詳しい内容・ご利用方法・料金、またパートナーに関するお問合せはこちらから。日本語English。