2026年7月23日(木)掲載 2,900本日 30
HN304130

asm.jsに別れを告げる時:Web開発の新たな夜明け

Saying goodbye to asm.js

eqrion2か月前

議論

11
1drob5182か月前

Asm.jsは死んだ!WebAssembly万歳!

2metmac2か月前

Gary BernhardtのJavaScriptについてのトーク[0]を見た時のことは忘れられないよ。あれが僕にとってasm.jsとの出会いだったし、ブラウザ上で動くコードにコンパイルするという沼にハマるきっかけだったな。

12年経って、彼の語ったフィクションがどれほど現実になったかと思うと衝撃的だよ。

[0] https://www.destroyallsoftware.com/talks/the-birth-and-death... (https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript)

4looneysquash2か月前

個人的には、これは間違いだと思う。ただ、どれだけ影響があるかはよく分からないな。僕が知る限り、今さらasm.jsを使い続けている人はそんなにいないだろうし。

でもwasmはJavaScriptからあまりに隔離されすぎてる。僕の限られた経験からすると、むしろasm.jsへのコンパイルを検討していたくらいなんだ。

ただ、Emscriptenがまだそれを完全サポートしてるのか確信が持てなかったんだけどね。

wasmからは大半のWeb APIが呼べないし。

あと僕がやろうとしてたことにとって、JSからwasmへのバッファのゼロコピーができないのが何より痛いんだ。

すべてはトレードオフだよね。隔離されていることは利点でもあるけど、欠点でもある。

5sehugg2か月前

うーん、asm.jsからWASMへのトランスパイラが必要かもしれないな。

(古いEmscriptenでレガシーコードをコンパイルするのはかなりフラストレーションが溜まるよ。EmscriptenのABI変更に合わせてJSコードをアップデートするのと同じくらい面倒だしね)

6pjmlp2か月前

asm.jsは「Webでどうやってネイティブ並みの速度でコードを走らせるか」という、NaClやPNaClが突きつけた問いに対するMozillaの回答だった。

もしこれが今だったら、Chromeはなりふり構わずNaClやPNaClをごり押しして、SafariやFirefoxが「Web」標準についてこれてないと言われて批判されてたんだろうな。

7rudi-c2か月前

悲しいけど、理にかなってるね。面白いことに、FigmaはもともとフルC++のコードベースで始まっていて、ブラウザ上でデザインツールを動かせることを証明する上でAsm.jsが鍵になってたんだ。WebAssemblyへの移行は、有料顧客がついてからの話だし、ロード時間の改善にも貢献した(Asm.jsはJSのままなのでバンドルサイズが大きくなり、WASMと違ってパースしてASTにする必要があるからね)。

8ndesaulniers2か月前

ずっと前、WebGLの本でasm.jsに関する小さな章を書いたことがあるんだ。

https://webglinsights.github.io/ (https://webglinsights.github.io/)

Web Assemblyの先駆けとなったasm.jsの台頭を見届けられたのは楽しかったよ。初期のデモの中には、Unreal Engineがブラウザで動くものとかあって最高にクールだった。:) ここで幕を閉じるのは少し切ないけれど、それがあったからこそ、より良いものが生まれたんだと思う。

9andrewl-hn2か月前

Mozillaがasm.jsコードに特化したOdinMonkeyをリリースした時のことを覚えてるよ。一方のChrome/V8チームは、汎用的なJSを高速化しつつasm.jsにも恩恵があるようなJITの最適化に取り組んでたんだ。当時の速度差はFirefoxが2~4倍くらい早くて、かなり煽ってたよね :D

今となっては、ほとんどのブラウザのJavaScript VMは似たような設計と最適化に収束してるから、Odinがなくてもasm.jsのコードは十分に高速に動くはずさ。

10trgn2か月前

:(

これ、本当にぶっ飛んだプロジェクトだったな。10年以上前にC++をwasmにコンパイルした時、「待てよ、これで動くのか!?」って驚いたのを覚えてる。あの頃のWebは進むスピードが凄まじかったな。