調査で分かった「一度書けばどこでも実行できる」WebAssemblyの魅力最もよく使われる言語は3年連続でRust

ソフトウェアコンサルティング会社のScott Logicは、「WebAssembly」の使用状況に関する調査レポート「The State of WebAssembly 2023」を発表した。この調査は2021年から毎年実施されており、今回で3回目となる。

» 2023年11月17日 08時00分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 ソフトウェアコンサルティング会社のScott Logicは、2023年10月28日(米国時間)、「WebAssembly」の使用状況に関する調査レポート「The State of WebAssembly 2023」を発表した。この調査は2021年から毎年実施されており、今回で3回目となる。本記事では調査結果の概要を紹介する。

 調査ではまず、WebAssemblyを利用するアプリケーションを開発するときにどの言語を使用するか、または使用しようとしたことがあるかを聞いた。

(提供:Scott Logic)

 最もよく使われる言語は、3年連続でRustだった。JavaScriptは2番目に使われている。「WebAssemblyにコンパイルできないことを考えると、これは注目に値する」(Scott Logic)

(提供:Scott Logic)

 上記グラフは、過去3回の調査結果に基づき、各言語の使用率の長期的な傾向を示している(使用率が10%未満のものを除く)。RustとJavaScriptの使用率が増加しているが、注目に値するポイントはSwiftとZigの採用率が大幅に増加していることだ。

 今回の調査では「WebAssemblyとあなたの仕事上の関係は?」という質問が新しくアンケートに加わった。これにより、WebAssemblyのツールやプラットフォームを積極的に開発している人と、単にエンドユーザーである人との回答を分けることができる。

(提供:Scott Logic)

 ツール開発者はRustを強く好み、またWAT(WebAssembly Text Format)を使って直接WebAssemblyをプログラミングしている。また、GoとPythonに対する強い嗜好も見られる。

(提供:Scott Logic)

 将来どの言語を使いたいかについて聞いた質問では、今回もRustがトップで、JavasScriptが2位だった。使用率がやや低いZigは3位となっている。

(提供:Scott Logic)

 一方のZig、Kotlin、C#では、使用希望が現在の使用状況を上回っているのに対し、C++、JavaScript、WATをあまり使いたくないと考えていることが分かる。

(提供:Scott Logic)

 どんなランタイムを使用しているかを尋ねた質問では、Bytecode Allianceの「wasmtime」が最も広く使われており、「wasmer」が2位という結果になった。「Wazero」はGoで作られたランタイムで、今回新しく加わったものだ。

(提供:Scott Logic)

 WebAssemblyを現在何に使っているかを聞いた質問では、Webアプリケーション開発が依然としてトップだが、その差は少し縮まっていることが分かった。以下のグラフは、前年比の傾向を示している。

(提供:Scott Logic)

 2021年、2022年の調査では、wasmのバックエンド用途の選択肢は「サーバレス」のみだった。2023年の調査では、この選択肢は2つに分かれている。2つの選択肢を組み合わせると、バックエンドの利用はわずかに増加する。最も顕著な変化は、プラグイン環境としてのWebAssemblyの使用だ。

(提供:Scott Logic)

 組織におけるWebAssemblyの採用状況を尋ねたところ、回答者の41%が本番環境で使用しており、28%が試験的に、または2024年中に使用する予定であることが分かった。

(提供:Scott Logic)

 「WebAssemblyをさらに普及させるために何が必要か」という質問では、最も必要なものとして、「WASI(WebAssembly System Interface)を通じた、より良い非ブラウザ統合」が挙げられた。

(提供:Scott Logic)

 WebAssemblyに最も望む機能を聞いた質問では、順にスレッド、コンポーネントモデル、ガベージコレクション、例外処理が上位に挙がった。そのうち、スレッド、ガベージコレクション、例外処理は3つとも使用する準備が整っており、最終化に近づいている。一方で、コンポーネントモデルは、初期段階の提案(フェーズ1)にとどまっている。

(提供:Scott Logic)

 WASIの機能について最も望まれているものを聞いた質問では、上位の4つの提案は全てI/O関連のものだった。WebAssemblyモジュールが外部と通信するための標準的な方法を作ることが求められている。

 最後に、WebAssemblyで最もワクワクすることは何かを質問した。同社がChatGPTを使って回答を要約した結果は以下の通り。

  • 異なるプラットフォーム上でコードを実行する能力
  • 異なる言語とウェブ間の相互運用性
  • ネイティブのパフォーマンスと効率性
  • 既存のコードやライブラリへのアクセス
  • 新しい言語やツールの可能性
  • セキュリティとサンドボックス機能
  • コンテナを置き換え、ブラウザ上で複雑なスタックを実行する能力
  • ユニバーサルバイナリフォーマットの可能性
  • 一度書けばどこでも実行できる能力
  • パフォーマンスとスピードの向上
  • コンポーネントモデルとコードの再利用能力

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。