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

HTMLJavaScriptJavaScriptWebAssembly

WebAssembly


WebWebAssembly

MozillaWebAssembly StudioWebAssembly

WebAssembly StudioJavaScriptWebJavaScriptWebAssembly

MozillaWebAssembly StudioLLVMEmscriptenCargoC/C/RustUX


関連記事

あわせて読みたい

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


CloudflareAI
IT  2024
IT 2024  SI
IT 2024  
MySQL 9.0 JavaScript
AIAISudoLang
RustDartRust Core 1.0Rust便Dart使
BGMSlackGoogle20246
RubyJavaJRubyRed Hat
AWS Direct Connect400Gpbs