Mozillaが「WebAssembly Studio」発表。C/Rust/AssemblyScript対応のオンラインIDE

2018年4月12日

Mozillaは、Webブラウザ上で高速に実行できるWebAssemblyに対応したアプリケーションを開発するためのオンラインIDE「WebAssembly Studio」を発表しました

オンラインIDEのサービスとして「WebAssembly.Studio」でベータ公開され利用できるほか、コードがGitHubでオープンソースとして公開されており、サーバにインストールして実行することも可能です。

WebAssembly Studio fig1WebAssembly Studioの画面。左側にファイル一覧があり、中央上がコードのエディタ画面。中央下がコンソール出力などとなっている。

WebAssemblyは、Webブラウザ上でネイティブコードに近い実行速度で高速に実行できるバイナリフォーマットです。

マイクロソフト、Google、Mozilla、Appleなどの主要なWebブラウザベンダがW3CのWebAssembly Community Groupなどを通じて共同で開発に取り組んでおり、すでに主要ブラウザで実行環境が整っています。

今回発表された「WebAssembly Studio」は、このWebAssembly対応の開発環境をオンラインIDEとして実現するものです。

C/Rust/AssemblyScriptなどに対応

WebAssembly Studioを起動すると、まずどの言語で開発するのかを選択する画面が現れます。選択できるのはC、Rust、AssemblyScript、そしてWatです。

WebAssembly Studio fig2

AssemblyScriptとは、TypeScriptをWebAssemblyへ事前コンパイル可能にするため、TypeScriptにいくつかの制約などを加えたTypeScriptのサブセットです(参考:What exactly is AssemblyScript?)。

WatとはWebAssembly textのことで、つまりWebAssemblyのアセンブラ言語です(おそらくこれを多用するプログラマはそれほどいないと思われます……)。

WebAssembly Studio fig3

バイナリエディタでWebAssemblyのバイナリを直接見ることもできます(右側に表示されているのが逆アセンブルされたWebAssembly text)。

WebAssembly Studio fig4

下記はサンプルで用意されているC言語によるHello WorldのコードをWebAssembly Studioで読み込んだところです。左側の「src」の下にはmain.c、main.html、main.jsの3つのファイルが用意されています。

WebAssembly Studio fig5

画面上部のメニュー右にはビルドと実行ボタンも用意されており、この画面からすぐに動作を試すことが可能。実行するとHTMLファイルが呼び出され、そこでJavaScriptが実行され、JavaScriptがビルドされたWebAssemblyファイルを呼び出して実行することになります。

WebAssemblyアプリケーションの開発が促進されるか

前述の通り、WebブラウザにおいてはすでにWebAssemblyの実行環境が整ったと言っていい状況ですが、開発環境の方はこれまであまり動きがありませんでした。

MozillaがこのWebAssembly Studioを発表したことで、WebAssemblyアプリケーションの開発に弾みがつくことが期待されます。

また、WebAssembly Studioが現時点で開発言語としてJavaScriptをサポートしていない点も興味深いところです。Webアプリケーションの開発ではJavaScriptを多用するのがこれまでの常識でしたが、WebAssemblyではそれがどう変わっていくのでしょうか。

Mozillaは今後のWebAssembly Studioの開発計画として、現在バックエンドとしてLLVMを用いているところをEmscriptenやCargoなどを取り入れることで、より充実したC/C++/Rustの実行環境を実現すること、さらに機能やUX、実行速度の最適化などを進めていくとしています。


関連記事

あわせて読みたい

WebAssembly プログラミング言語 Mozilla




タグクラウド

クラウド
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本