HN🔥 304
💬 130

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

eqrion
約19時間前

ディスカッション (11件)

1
drob518
約17時間前

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

2
metmac
約17時間前

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)

4
looneysquash
約17時間前

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

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

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

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

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

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

5
sehugg
約16時間前

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

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

6
pjmlp
約16時間前

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

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

7
rudi-c
約16時間前

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

8
ndesaulniers
約14時間前

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

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

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

9
andrewl-hn
約11時間前

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

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

10
trgn
約11時間前

:(

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