Dart 1.0 を触ってみた。
Dart 1.0 がリリースされて、ECMAでの標準化作業が始まったようです。
Chromium Blog: Ecma forms TC52 for Dart Standardization
DartはJavaScriptと比較してずっと使いやすいので、いずれ標準化されたDartが様々なブラウザで実行できるようになれば*1、JavaScriptに付随する問題の多くが解消され altJS も使われなくなるかもしれませんね。
Dartのメリットとしては、JSのしがらみにとらわれないぶん奇妙なイディオムに支配されることがないことや、それゆえ言語仕様やListやMapなどのコレクション型を含む標準ライブラリが独自に設計されており高機能ということ。デメリットとしては、JSの常識が通じない分学習コストが高いことと実行時のオーバーヘッドが高い*2ことなどでしょうか。
というわけで、以前作ったDartプログラムを 1.0 に対応させてみました。
- https://github.com/gfx/dart-shooting (forked from tkihira's js shooting)
- http://gfx.github.io/dart-shooting/ (demo)
移植してみた感想を適当に。
- 言語仕様自体は2年前とくらべて互換性のない変更はあまりない
- import文の構文が変わった程度?
- 様々な拡張はされている: Dart言語仕様 Pick-up - Google スライド
- dart:core, dart:htmlなどの標準ライブラリAPIは大きく変わっており、JSからだいぶ乖離してきている
- 全体的にドキュメントは豊富で、特に Dart Synonymsをみればだいたいなんとかなる