WebAssembly
ネイティブに近いパフォーマンスで動作するコンパクトなバイナリー形式の低レベルなアセンブリ風言語です。 へー、そういう技術があるのかあtakker.icon
bsahd.icon
JavaScriptのJITも発達してきたので必要性は薄そう
GCもどうせ走る(Javascript側で)のは変わらないし
もしかして普通のWebページ用途に限定して言ってる?Mijinko_SD.icon
3D ゲーム、仮想現実、拡張現実、コンピュータービジョン、画像/動画編集、その他ネイティブなパフォーマンスを必要とする多くの領域など、より集中的な使用例で JavaScript を使用しようとすると、パフォーマンスの問題に直面します
逆にこれ以外のアプリともあまり呼べないようなものだったら関係なさそう
JavaScriptが嫌いでC++が大好きという人の選択肢にはなるかもしれないけれど
RustとかからWebAPIが呼べるのは凄いけど、パフォーマンス的にはどうなんだろう?
ブラウザで動くJavaScriptに代わる高速なランタイムという側面
例
最近はJVMのような汎用ランタイムとして使われ始めている 例
Cなどの低水準言語をサンドボックス環境で動かせるという側面もある
サンドボックス環境:ブラウザ外にダメージを与えない環境
ブラウザ外でも動かせるようにするWASIというものもある まだ開発中の技術
Go言語でこのバイナリ作れると知って作ったのを思い出した。。懐かしい bsahd.icon
wasm化は自分でビルドするだけでは?
元のGoコードをコンパイルしてwasmにしてますtakker.icon
既にevanwさんがコンパイルしたものが配布されていますが、もちろんuserがlocalでコンパイルする事もできます
(すみません言いたいことがいまいちわかってないです)
wasmはJavaバイトコードのような認識でいる
wasmはJavaバイトコードの再生産では
中間言語なので容量の考慮が少なくて良い
wasmはJSとの連携が強化されているのかな
JVMは詳しくないのでわからないですtakker.icon
似てるなという気はしているinajob.icon
詳しい人に違いを説明してほしい気持ち
Oracleが作ってるかブラウザメーカーが作ってるかぐらいの違い?Mijinko_SD.icon JVM との違い
Wasm はしばしば JVM(Java Virtual Machine)と比較されます。JVM と似ている点は「Write once, run anywhere」という点です。 しかし、 Wasm は対応している言語が多い、一つの企業に独占されていない、 サンドボックス環境である、起動速度が速い、メモリフットプリントが小さい、言語仕様が小さい、という点で異なります。
起動速度にも差があるらしい