WebAssemblyアプリ開発で最も使われている言語は3年連続で「Rust」、Webアプリ開発が最多、欲しい機能はスレッド。The State of WebAssembly 2023

2023年10月27日

メールマガジン「WebAssembly Weekly」を発行しているScott Logicは、WebAssemblyの利用状況などに関する調査報告として「The State of WebAssembly 2023」を公開しました。

fig

回答者はWebAssembly関連の技術者303人。

最も使われているのはRust、2位のJavaScriptの使われ方とは?

WebAssemblyのアプリケーションのコードを記述するプログラミング言語として何を使っているかを尋ねた質問への回答では、3年連続でRustがトップ。しかも利用率は上昇中です。

fig

2位に入ったのがJavaScriptです。WebAssemblyバイナリはソースコードをコンパイルしてバイナリに変換することで生成されますが、JavaScriptはWebAssemblyへのコンパイルに対応していません。

WebAssemblyアプリケーションのコードとしてJavaScriptを使う方法は、WebAssemblyで構築されたJavaScriptエンジンをWebAssemblyランタイム上で実行し、そこでJavaScriptコードを走らせることです。

この方法ではWebAssemblyの高速な実行速度をアプリケーションの利点としては得られませんが、高度な分離機能やセキュリティ、そしてWebAssemblyランタイムがあればどこでもJavaScriptを実行できるという柔軟性などがメリットとして得られます。

代表的なのはCDNエッジでWebAssemblyによるJavaScriptランタイムを提供することでJavaScript対応を実現したFastlyの例などでしょう。

参考:Fastly、JavaScriptエンジンをWebAssemblyで実装。CDNエッジのサーバレス環境「Compute@Edge」でJavaScriptサポート発表

こうした使われ方でJavaScriptが2位に入ること自体、注目すべきトレンドでしょう。

下位に目を移すと、SwiftとZigが急上昇している点も注目です。

今後、WebAssemblyアプリケーションの開発でどのプログラミング言語を使ってみたいですか? という問いに関しても、1位はRust、2位がJavaScriptでした。3位にZigが入っているのが興味深いところです。

fig

Webアプリ開発が最多、2位は以外にもプラグイン開発

現在、どのようなアプリケーションにWebAssemblyを利用していますか? という問いの回答には、Webアプリケーションが約70%と圧倒的に多くなっています。

fig

そして2位に入ったのがプラグイン環境としての利用でした。Istioなどいくつかのソフトウェアでは機能拡張のためのプラグインとしてWebAssemblyが利用可能になっています。この用途でのWebAssemblyの利用は思った以上に広がっているようです。

参考:サービスメッシュのIstio、機能拡張にWebAssemblyを採用。EnvoyにV8エンジンのWebAssemblyランタイムを統合

昨年まではWebAssemblyをバックエンドで利用する場合の回答は「Serverless」だけが選択肢として用意されていましたが、今年は「Backend」と「Serverless」に分割されました。これにより、昨年は2位に位置していたSeverlessは、今年はBackendが3位、Serverlessは6位となりました。

これからWebAssemblyに欲しい機能は?

WebAssemblyとWASI(WebAssembly System Interface)の新機能として欲しいものはなにか、という問いには、Threads(スレッド)が1位、コンポーネントモデルが2位、ガベージコレクションが3位、例外ハンドリングが4位という結果になっています。

fig

その他にも多くの調査結果が示されていますので、詳しくはぜひ元記事をご参照ください

過去のThe State of WebAssembly

あわせて読みたい

JavaScript WebAssembly プログラミング言語 Rust




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本