2011年10月10日月曜日

Dartの導入 on MacOS X

Web構造化プログラミング言語"Dart"が発表されたみたいですね。

参考:
http://www.dartlang.org/(公式、英語)

ということで、早速動かしてやろうと思って、作業をした手順を控えておこうと思います。

最初にDepot_Toolsをダウンロードする必要があります。
Dartのソースコード、ツール一式がgclientを利用しないとダウンロードできないためです。

Depot_Toolsのダウンロード(いろんな物が落ちてきます)
$ svn co http://src.chromium.org/svn/trunk/tools/depot_tools

Depot_Toolsをダウンロードしたら、その中にある、gclientというコマンドを利用します。
恐らく、パスを通しておく方が良いでしょう。
export PATH=$PATH:[Depot_Tools

Dartのソースコード、ツール一式のダウンロード(本当にいろんな物が落ちてきます)
$ gclient config http://dart.googlecode.com/svn/branches/bleeding_edge/deps/all.deps

$ gclient sync

ダウンロード後、Dartをビルドします。
$ cd [Dartのダウンロードディレクトリ]/dart
$ ./tools/build.py --arch=ia32

ビルド後、以下のHTMLのコードを作成します。これは、Dartのコードを含んでいます。
ファイル名はdartsample.htmlで保存しました。
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8" />
  <title>Dart Sample</title>
</head>
<body>
  <script type='application/dart'>
	void main() {
	   HTMLElement element = document.getElementById('result');
	   element.innerHTML = 'Hello World!';
	}
  </script>
  <div id="result"></div>
</body>
</html>

このHTMLファイルをDartのコンパイラ(?)dartcでコンパイルします。ただし、pythonのスクリプトが用意されているので、以下のコマンドを使ってコンパイルします。

$ python [Dartのダウンロードディレクトリ]/dart/client/tools/htmlconverter.py dartsample.html -o out/

正常に終了したら、outディレクトリを調べると、dartsample-js.htmlというファイルが
生成されていました。これをChromeで表示すると、Hello World!という文字列が
表示されました。

今回はブラウザで実行させるようにしましたが、DartはVM上でも動作させる事が
できるようなので、後で、同じく動かしてみようと思います。

2011/10/11追記
dartsample.htmlのソースコードに変なspanタグが挿入されているのに
気がついたので、削除しました。本来は不要でした。