BT

InfoQ ホームページ ニュース DartでコンパイルされたDartコンパイラーがDartコードをブラウザ内でコンパイル

DartでコンパイルされたDartコンパイラーがDartコードをブラウザ内でコンパイル

ブックマーク

原文(投稿日:2013/05/13)へのリンク

Google が再開したtry.dartlang.org、オンラインの遊び場でユーザーは、Dart SDKをダウンロードして、インストールすることなく、Dartを試すことができる。 旧バージョンと違って、新しいバージョンでは、ブラウザでダートコードをJavaScriptにコンパイルし、結果として、またオフラインで動作する。また、dart:html, HTML DOM 操作用のDartlibraryもサポートしている。しかし、その実装は、おそらくtry.dartlang.orgの中で最も印象的な側面である。

 

Peter von der Ahé がGoogle+でリリースを発表した。

我々は、try.dartlang.orgを復活しました。旧バージョンと比べて、新バージョンのフィーチャは、ブラウザ内のコンパイル、dart:htmlのサポート、オフラインで動くことです。

もしあなたがiOS デバイスを持っているなら、Try Dart! をあなたのホーム画面上のアプリとしてインストール出来ます。

ほとんどの言語で使用できる遊び場環境がある-たとえばtry rubyあるいはrepl.itこれは、多くの言語( Python, JavaScript, Luaや他の多くの言語)にREPL (Read Eval Print Loops) を提供している。これらの遊び場サイトのほとんどは、ユーザーの入力をサーバーへ送信し、そこでコードを実行し、クライアントに結果を返します。 Try.dartlang.org は、コードのコンパイル実行がブラウザで行われる点が違う。

そこで、それはどのように動作するのか?いかにDartチームは、Dart to JavaScriptコンパイラー( dart2jsと呼ばれている)をブラウザー内で上手くホストするのか? try.dartlang.org プロジェクトのソースコードリポジトリを見るとそのトリックがわかる。

dart2js コンパイラー自身がDartで書かれている。通常、それはSDKに含まれているDartVMを使って走る。しかし、try.dartlang.orgを実装するために、Dartチームは、自身の上でdart2jsコンパイラーを呼び出し、1つの 457KBの JavaScript ファイルとして、DartコードをJavaScriptへ変換するコンパイラーを生成する。コンパイラーのこのJavaScriptバージョンは、 Dartコードがエディタ内で変わる度にブラウザーに読み込まれ、呼び出される。次にJavaScript コードが評価され、結果が表示される。

ブラウザーでdart2jsコンパイラーを走らせることは、Dartを使って作るウェブアプリケーションのタイプの典型的な例ではないが、このような方法でdart2jsコンパイラーをブートストラップする のは、印象的な技術的偉業である。

Try.dartlang.org には幾つもの事前にパッケージ化された例題アプリケーションが付属している。これらは簡単に走らせることができ、言語がいかに動くかを良く理解できるように、変更できるようになっている。例題アプリケーションは、単純なhello worldからDelta Blue ベンチマークまで、複雑さは様々である。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT

あなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。

Eメールを変更すると確認のメールが配信されます。

会社名:
役職:
組織規模:
国:
都道府県:
新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。