WebAssembly とは?

WebAssembly とは?
あなたのような読者は、MUO のサポートを支援します。当サイトのリンクを使用して購入すると、アフィリエイト手数料が発生する場合があります。 続きを読む。

20 年以上にわたり、JavaScript はブラウザーで実行できる唯一のプログラミング言語でした。 Python、C++、Go などの他の言語は、主に Web アプリケーションとサービスのサーバー側を構築するためのものでした。





JavaScript はかなりうまくいきましたが、他の多くのプログラミング言語の方が高速です。よりパフォーマンスの高い他のプログラミング言語をブラウザーで直接実行することで、Web アプリが利用できる多くの利点があります。





今日のメイク動画

WebAssembly は、オープン Web プラットフォームの一部である、効率的でオープンかつ安全なオプションを提供します。これを使用して、ブラウザー、サーバー、およびその他の環境で実行されるアプリケーションを構築できます。





WebAssembly の紹介

  WebAssembly の紹介

WebAssembly (WASM) は、効率的で低レベルの移植可能な W3C 標準言語です。プログラムが Web 上のプラットフォームと対話するためのコード形式とインターフェイスを定義します。

ほとんどのプログラミング言語を WebAssembly のバイナリ コード形式にコンパイルできます。ブラウザは、通常の JavaScript と同じように、生成された WASM コードを解釈して実行できます。また、JavaScript コードと一緒に WebAssembly を実行して、アプリのパフォーマンスと 2 つの間の相互運用性を高めることもできます。



WebAssembly は 2019 年に W3C 標準となり、多くのプログラミング言語でサポートされています。によると WebAssembly で作成 、WebAssemblyを使用して高速で安全なソフトウェアをユーザーに出荷する人気のあるプロジェクトがすでにたくさんあります.

サーバーサイド固有のものを含め、多くのプログラミング言語が WebAssembly をサポートしています。これらには、Rust、Go、Python、C++、TypeScript、Java、PHP、および Ruby が含まれます。チェックアウト awesome-wasm-langs リソース WebAssembly でサポートされている言語と、それらで使用できるパッケージについて学びます。





これが例です チュートリアル ポイントの WebAssembly プログラム 最大 2 つの整数を返します。

  WASM コード サンプル

WebAssembly の構文は JavaScript に比べて比較的冗長ですが、問題にはなりません。 WebAssembly は、好みの言語で記述したプログラムのコンパイル ターゲットになるため、構文を学習する必要はありません。





Spotifyvsアップルミュージックvsアマゾン

WebAssembly のしくみ

WASM は、他のプログラミング言語がトランスパイルするためのコンパイル ターゲットとして存在します。あなたは書くことができます 好きなプログラミング言語 ソース コードをクライアントで実行される WASM バイトコードにコンパイルします。ネイティブ マシン コードに変換すると、通常は JavaScript よりも高速に実行できます。

WASM の重要な機能の 1 つは、JavaScript の相互運用性です。 WASM モジュールを Web アプリケーションにインポートして、JavaScript コードで使用する WASM 関数を公開できます。 JavaScript フレームワークは、WASM を利用してパフォーマンスを向上させることができます。

WASM は、JavaScript に似たサンドボックス実行モデルを使用します。 WASM は、ABI (Application Binary Interface) を使用してホスト マシンとやり取りします。 WebAssembly システム インターフェイス プログラムの要件に基づいて、リソースやその他のシステム サービスへのアクセスを提供します。

Chrome、Microsoft Edge、Mozilla Firefox、Opera、Safari など、最新のブラウザーの多くは WASM をサポートしています。 Go や Rust サポート WASM 箱から出して。

Web に WebAssembly が必要な理由

  WebAssembly の機能

JavaScript は、設計上、機能が制限されています。それはの1つではありません 最速または最もパフォーマンスの高い言語 ウェブ用のスクリプト言語として始まったからです。 JavaScript がさまざまな速度で実行される多くのランタイムがありますが、WebAssembly がゲーム、ビデオ、音楽などのユースケースのために Web にもたらすことができる、より高速でパフォーマンスの高い言語があります。

WebAssembly は、Web 上で実行されない言語への移植性と柔軟性も提供します。 Web (最も人気のあるオープンソース プラットフォーム) により多くの言語を導入すると、全体的なエクスペリエンスが向上するはずです。

WebAssembly の採用は急速に進んでいます

多くの企業や開発者が WebAssembly を使用してアプリケーションを構築しています。 Google、Dropbox、および Cloudflare は、一部のアプリケーションで WebAssembly を積極的に使用しています。

WebAssembly は、Python、C++、および Rust の開発者の間で人気があります。 Python 開発者は通常、Pyoidide と PyScript、C++ 開発者と Emscripten、Rust 開発者は Percy、Yew、Sycamore、MoonZoon、および Seed フレームワークを使用します。