WebAssembly単語

3件
ウェブアセンブリィ
1.1千文字の記事
  • 1
  • 0pt
掲示板へ

WebAssemblyとは、ブラウザ上でJavaScript(スクリプト言語)の代わりにバイナリ(アセンブラ)を実行したら高速化するんじゃないかな、みたいな感じである。

拡張子は.wasm

概要

JavaScriptユーザー数の多さ(ほとんどのWebサイトで使用されている)もあって最適化が進み、スクリプト言語最速と言われる準に達している。しかし、いかんせんスクリプト言語である以上、事前コンパイルされているコンパイルの実行速度との間には超えられない壁がある(Juliaはこの壁を越えたとしているが、用途も違うし、それはまた別の話。)。

WebAssemblyはこの問題を解消するべくブラウザ上でネイティコードに近いバイナリを実行するための低プログラミング言語として登場した。2015年に発表され、2017年にはFirefox, Chrome, Safari, Edgeといったブラウザが対応するようになった(IEはもちろん非対応)2019年にはW3C勧告になり、Web標準としての地位を獲得した。

特色

実行ファイルは(Javaバイトコード的な中間コードの)バイナリデータの形で提供され、仮想マシンネイティコードに変換後実行される。これだとJavaScriptと同じ様に聞こえるが、ネイティコードに近い状態で仮想マシンに渡されるので、実行時に構文解析から始めるJavaScriptよりも高速に動作する。

機械語と同様、普通人間には読めないので、アセンブリ言語に近い表現方式も存在する。

実行環境

上記ブラウザ以外にもローカルJavaScript実行エンジンであるNode.jsDenoからも実行可。いずれの環境でもJavaScriptを介して呼び出す方式である。

開発環境

LLVMビットコードをWebAssemblyに変換するバックエンドがあることから、LLVMに対応したプログラミング言語ならばWebAssemblyの開発が可(なはず)。

初期にはDOMの操作は対外とされ、JavaScriptの処理のうち計算量の多い部分を置き換える使い方が想定されていたが、2019年あたりからWebAssembly対応の各種言DOMの操作のサポートが進んできている。

関連リンク

関連項目

関連記事

親記事

子記事

  • なし

兄弟記事

【スポンサーリンク】

  • 1
  • 0pt
記事編集 編集履歴を閲覧

ニコニ広告で宣伝された記事

紲星あかり (単) 記事と一緒に動画もおすすめ!
提供: Frederic
もっと見る

この記事の掲示板に最近描かれたお絵カキコ

お絵カキコがありません

この記事の掲示板に最近投稿されたピコカキコ

ピコカキコがありません

WebAssembly

1 ななしのよっしん
2021/03/05(金) 10:30:34 ID: Yvhrocj9IB
WebAssembly proposals
https://github.com/WebAssembly/proposalsexit
GCThreadsSIMD等々様々なExtensionが提案されててRISC-V的な趣を感じる
👍
高評価
0
👎
低評価
0
2 ななしのよっしん
2021/03/05(金) 12:16:06 ID: Yvhrocj9IB
WebAssemblyブラウザの外で動かすWasmerを触ってみた
https://zenn.dev/koduki/articles/f1b342079788beexit
Wasmer 1.0がリリースされたので、ベンチマークを取ってみた
https://zenn.dev/tanakh/articles/wasm-benchmarkexit
WASI準拠の他言対応WASM実行ランタイムすごいな
WASMがポータブルバイナリ及びユニバーサルライブラリとしてプラットフォーム間の違いを吸収してくれたら開発が捗りそう
WebGPUもそんな感じでブラウザ内外共通APIとして一緒に普及してくれると非常に助かる
👍
高評価
0
👎
低評価
0
3 ななしのよっしん
2021/03/08(月) 12:56:20 ID: TB40xUfIef
WebAssemblyセキュアな実行のためにアプリケーションデフォルトで自動的にサンドボックス化し悪意あるコードバグ、実行されるソフトウェア脆弱性からホスト環境を保護するよう設計されているbyMDN
最近は普段使いだとCPUメモリが向上したお陰でパフォーマンスに余裕が出てきたからHTTPS通信が必須化したように一般環境ではセキュリティ確保のためネイティブコード実行が忌避される時代が来るかもしれないね
オンラインパスワード依存しないWebAuthn/FIDO2が標準化されたのでよりセキュアな次世代方式へ移行が進むといいな
👍
高評価
0
👎
低評価
0
4 ななしのよっしん
2022/11/10(木) 13:01:41 ID: RHKQdfv+LY
👍
高評価
0
👎
低評価
0