第4のWebブラウザ用言語「WebAssembly」、誰がどのように使っているのか:他の言語から呼び出して使う
ソフトウェアコンサルティング会社のScott Logicが第4のWebブラウザ用言語「WebAssembly」の使用状況について、調査結果を発表した。WebAssemblyアプリケーションの作成に使われている言語やWebAssemblyの使用目的、今後大きな影響を与える分野、改善を要する分野などが明らかになった。
ソフトウェアコンサルティング会社のScott Logicは2021年6月21日(英国時間)、「WebAssembly」の使用状況の調査結果を発表した。
WebAssemblyとは
WebAssembly(「Wasm」と略される)は、Webブラウザを含むモダンな実行環境での効率的なコード実行とコンパクトなコード表現を実現するために設計された、安全でポータブルな低レベルフォーマットだ。
企業の独自規格ではなく、World Wide Web Consortium(W3C)が2019年に標準化を完了し、コア仕様をW3C勧告として公開している。「HTML」「CSS」「JavaScript」に続き、Webブラウザで実行できるコードを作成できる4つ目の言語と位置付けられている。
WebAssemblyは低レベルのアセンブリ言語風だが、人間が読み書きでき、デバッグもできるテキストフォーマットで保存される。ただし、基本的に、開発者が直接記述することを想定しておらず、「C」「C++」「Rust」といった言語の効果的なコンパイル対象となるように設計されている。こうしたさまざまな言語で記述されたコードを、Web上でネイティブに近い速度で実行する方法を提供する。
さらにWebAssemblyは、JavaScriptと並行して動作するように設計されており、両者を連携させることができる。
Scott Logicは「最近ではもともとの用途として考えられていたWebアプリケーションだけでなく、サーバレスやコンテナ、ブロックチェーンアプリケーションでもWebAssemblyの利用が進んできたことを踏まえ、WebAssemblyの使用状況を初めて調査した」としている。
調査では、この技術がどんな分野でどのように使われているか、開発者がこの技術についてどんな見通しを持っているかを明らかにすることを目指したという。
調査で分かった4つの事実
Scott Logicは、調査のハイライトとして次の4項目を挙げている。
(1)最もよく使われている言語
「WebAssemblyアプリケーションの作成に使用している言語は何か」と質問したところ、Rustが最も多くの回答を集めた。「WebAssemblyアプリケーションの作成に今後最も使用したい言語は何か」という質問でも、Rustを挙げた回答が最も多かった。
(2)最も使用したい第2位の言語
「WebAssemblyアプリケーションの作成に今後最も使用したい言語は何か」という質問では、「AssemblyScript」が2番目に多くの回答を集めた。
(3)WebAssemblyの影響範囲
WebAssemblyは、Webやサーバレス、ゲーム、コンテナアプリケーションに大きな影響を与えると期待されている。
(4)改善点
「WebAssemblyは今後、どの分野で最も改善が必要だと思うか」という質問に対し、最も多くの回答者がデバッグサポートを挙げた。
WebAssemblyアプリに使用している言語は
「WebAssemblyアプリケーションの作成に使用している言語は何か」と質問したところ、Rust(26%)が首位となった。C++、AssemblyScript、「Blazor」「Go」が比率でRustに続いた。
Scott Logicは、Rustが最もよく使われている2つの理由を挙げた。第一に開発者の間で人気が高いことだ。StackOverflowの開発者調査では4年連続で「最も愛されている言語」の地位を獲得している。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- WebAssembly
WebAssemblyは、C/C++などで書かれたコードをWebページでも利用できるようにすることを念頭に置いたバイナリフォーマット。 - ブラウザで実行可能な言語「WebAssembly」、Webの標準へ
W3Cは、プログラミング言語「WebAssembly」の標準化を完了し、そのコア仕様をW3C勧告として公開した。高パフォーマンスWebアプリケーションを実現する助けになる。 - オープンソースのJavaScript/WebAssemblyエンジン「V8 release v8.0」が公開
オープンソースのJavaScript/WebAssemblyエンジンの最新版「V8 release v8.0」が公開された。数週間後に正式リリース予定のWebブラウザ「Chrome 80」に搭載される。メモリ消費量が減ったために高速動作する他、プログラマーがバグを作り込みにくい仕組みを取り入れた。