0001ノチラ ★
2018/04/12(木) 14:08:59.44ID:CAP_USERオンラインIDEのサービスとして「WebAssembly.Studio」でベータ公開され利用できるほか、コードがGitHubでオープンソースとして公開されており、サーバにインストールして実行することも可能です。
http://www.publickey1.jp/2018/webassembly_studio_01.gif
WebAssembly Studioの画面。左側にファイル一覧があり、中央上がコードのエディタ画面。中央下がコンソール出力などとなっている。
WebAssemblyは、Webブラウザ上でネイティブコードに近い実行速度で高速に実行できるバイナリフォーマットです。
マイクロソフト、Google、Mozilla、Appleなどの主要なWebブラウザベンダがW3CのWebAssembly Community Groupなどを通じて共同で開発に取り組んでおり、すでに主要ブラウザで実行環境が整っています。
WebAssembly対応、主要ブラウザChrome/Firefox/Edge/Safariで整う。Webアプリの開発言語としてJavaScript以外の選択肢は広がるか?
今回発表された「WebAssembly Studio」は、このWebAssembly対応の開発環境をオンラインIDEとして実現するものです。
C/Rust/AssemblyScriptなどに対応
WebAssembly Studioを起動すると、まずどの言語で開発するのかを選択する画面が現れます。選択できるのはC、Rust、AssemblyScript、そしてWatです。
http://www.publickey1.jp/2018/webassembly_studio_02.gif
AssemblyScriptとは、TypeScriptをWebAssemblyへ事前コンパイル可能にするため、TypeScriptにいくつかの制約などを加えたTypeScriptのサブセットです(参考:What exactly is AssemblyScript?)。
WatとはWebAssembly textのことで、つまりWebAssemblyのアセンブラ言語です(おそらくこれを多用するプログラマはそれほどいないと思われます……)。
http://www.publickey1.jp/2018/webassembly_studio_03.gif
バイナリエディタでWebAssemblyのバイナリを直接見ることもできます(右側に表示されているのが逆アセンブルされたWebAssembly text)。
http://www.publickey1.jp/2018/webassembly_studio_04.gif
下記はサンプルで用意されているC言語によるHello WorldのコードをWebAssembly Studioで読み込んだところです。左側の「src」の下にはmain.c、main.html、main.jsの3つのファイルが用意されています。
以下ソース
http://www.publickey1.jp/blog/18/mozillawebassembly_studiocrustassemblyscriptide.html