ホームページ >ウェブフロントエンド >フロントエンドQ&A >WebAssemblyとは何ですか? WebAssembly の簡単な理解

WebAssemblyとは何ですか? WebAssembly の簡単な理解

青灯夜游
青灯夜游オリジナル
2019-03-20 17:11:1516750ブラウズ

WebAssembly (略して wasm) は、最新の Web ブラウザで実行される新しいタイプのコードで、主に Web プラットフォーム向けに、移植可能なプログラムを安全かつ効果的な方法で実行するための新しいテクノロジです。 WebAssemblyについては以下の記事で紹介していますので、ご参考になれば幸いです。

WebAssemblyとは何ですか? WebAssembly の簡単な理解

WebAssembly とは何ですか?

WebAssembly または wasm は、ブラウザー内クライアント側スクリプト用の低レベルで移植可能なバイトコード形式です。最新の Web ブラウザーで実行される新しいタイプのコードであり、新しい機能を提供します。ブラウザのダウンロードとロードに効果的なパフォーマンス機能と効果。

C、C、Rust などの低レベルのソース言語に効率的なコンパイル ターゲットを提供するように設計されています。

実際、WebAssembly は、既存の JavaScript エンジンの背後でブラウザ開発者によって実装されています。基本的に、Web 上のコンパイラおよびトランスレータのターゲットとして JavaScript を置き換えることを目的としています。たとえば、開発者は TypeScript を JavaScript にコンパイルする代わりに、WebAssembly にコンパイルできるようになりました。つまり、これは新しい仮想マシンではなく、すべてのブラウザーに含まれる同じ JavaScript VM の新しい形式です。これにより、JavaScript を使用せずに既存の JavaScript インフラストラクチャを活用できるようになります。

なぜ WebAssembly なのか?

C、C、Java などのネイティブ言語で書かれたモジュールを実行したいだけの場合ブラウザ上で。ソース言語をターゲット言語の JavaScript に変換するコンバーターのみが必要です。

WebAssembly の場合、コンバーターを省略して、C、C、Java などのネイティブ言語をマシンコードに直接コンパイルできます。効率が大幅に向上しました。

ブラウザは、言語形式のコンパイル サポートを追加することにより、実行効率の画期的な向上を達成しました。

WebAssembly の特殊なバイナリ表現は、高速に実行されるだけでなく、コード パッケージのサイズも大幅に削減します。同時にブラウザの読み込み速度も向上しました。

WebAssembly の利点:

1. 高速かつ効率的

WebAssembly はポータブルなバイトコードですこの形式では、バイトコードはバイナリ形式で送信され、モジュールの構造によりブラウザによって並列コンパイルできるため、さらに高速化され、ネイティブに近いパフォーマンスで実行できるようになります。 C、C++、Rust などの低レベルのソース言語に効率的なコンパイル ターゲットを提供するように設計されています。

2. 移植性

Webassembly は他のプラットフォームに移植できます。これは、WebAssembly にコンパイルできる言語でソフトウェアを作成すれば、それを .NET 上で実行できることを意味します。これにより、既存の JavaScript インフラストラクチャを Web 上で再利用できるようになります。

WebAssembly コードは、さまざまなプラットフォーム上でネイティブに近い速度で実行できます。

3. 可読性とデバッグ可能

WebAssembly は低レベルのアセンブリ言語ですが、非常に規則的で人間が判読できるテキスト形式を設計しており、次のように記述することができます。コードを手動で確認し、コードを表示し、コードをデバッグします。

4. セキュリティ

WebAssembly はサンドボックス実行環境で実行され、既存の JavaScript 仮想マシンに実装することもできます。 Web 環境では、WebAssembly は同一生成元ポリシーとブラウザー セキュリティ ポリシーに厳密に準拠します。

【おすすめ関連記事】

GraphQLとは? GraphQL のメリットとデメリット

以上がこの記事の全内容です。皆様の学習に少しでもお役に立てれば幸いです。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !

以上がWebAssemblyとは何ですか? WebAssembly の簡単な理解の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。