WebAssemblyの実装
実装
いろいろな言語で{ソース言語}→WebAssembly実装がある
C/C++
Emscripten
Rust
wasm-pack
C#
Blazor
Go
TinyGo
Ruby
Ruby 3.2からruby.wasm
TypeScript
AssemblyScript
Python
Pyodide
Swift
SwiftWasm
Zig
0.4.0からWebAssemblyにコンパイルできる
ref: 0.4.0 Release Notes · The Zig Programming Language
Webブラウザ以外でも実行できる
WebAssembly System Interface(WASI)
Wasmtime
ダウンロードしたコンパイル済みコードをブラウザ内のサンドボックス環境で実行するコンセプトの技術としては、以下の技術がある
Javaアプレット
ActiveX
Silverlight
WebAssemblyランタイムの実装
→WebAssemblyランタイム
実例
Squoosh
Unity
Unity 2018.2から正式採用されている
Google Earth
Google Meet
AutoCAD
AutoDesk
Figma
webviz
1Password X
Goodnotes
FirefoxのPDF.js
エディタ
Lapce
ここでWebAssemblyで作られているものを探せる。
Made with WebAssembly
Zaplib
というRustで作られたソフトウェア
作ったけど思ったより性能が出せなかったのとのこと
ポストモーテムは下にまとめられている。
Zaplib post-mortem - Zaplib docs
TensorFlow.js
WebAssembyコンパイラ
Liftoff
V8エンジンにあるWebAssemblyベースラインコンパイラと呼ばれるもの
確認用
Q. WebAssemblyの実装
参考
Emscripten
C/C++ → JavaScript
WebAssemblyが気になるので調べてみた - Qiita
Rust から WebAssembly にコンパイルする - WebAssembly | MDN
WebAssemblyとは?高速実行する最新技術のできる・できないこと、活用事例
関連
#WebAssembly