Googleによる構造化Webアプリケーションのための新言語Dartが公開されました。
JavaScriptを置き換える意図をもって開発された言語らしいのでクライアントサイドでの利用が見込まれているのかもしれません。
■特徴
- Classes。クラスとインターフェイスを利用可能。
- Optional types。静的な型を使用することもできる。最初は形無しで開発していき徐々に型を使った複雑なアプリケーションに発展させていくことができる。
- Libraries。開発者はランタイムに変わらないことを保証されるライブラリを作り使用することができる。独立して開発されたコードはシェアード・ライブラリに依存することができる(意味不明)。
- Tooling。Dartは実行環境、ライブラリ、開発ツールが含まれる。
■サンプルコード
公式ホームページではサンプルコードも公開されています。以下はPointクラスを定義して距離を測るメソッドを呼び出すサンプル。
class Point { Point(this.x, this.y); distanceTo(Point other) { var dx = x - other.x; var dy = y - other.y; return Math.sqrt(dx * dx + dy * dy); } var x, y; } main() { Point p = new Point(2, 3); Point q = new Point(3, 4); print('distance from p to q = ${p.distanceTo(q)}'); }
■まとめ
言語的にはごく普通で素直な感じです。静的型を使おうと思えば使えるのも便利そう。ただJavaScriptは既にあまりにも広範囲に使われているのでこれを置き換えるのは並大抵ではなさそうです。Chromeあたりに搭載して少しずつ浸透させていく作戦をとるしかないかもしれません。