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、実行速度の最適化などを進めていくとしています。


関連記事

このエントリーをはてなブックマークに追加
follow us in feedly

カテゴリ 開発ツール / 言語 / プログラミング
タグ  Mozilla , WebAssembly


次の記事
インテルのFPGA、富士通とDell EMCが採用しx86サーバへ搭載。XeonとFPGAの統合へ第一歩

前の記事
Open Container Initiative(OCI)がDockerイメージの配布プロトコル標準化に着手。事実上の標準であるDocker Registry HTTP API V2をベースに


カテゴリ



Blogger in Chief

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

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



新着記事 10本


PR - Books


fig

fig

fig