闇鍋プログラミング勉強会でDartの発表をしました

闇鍋プログラミング勉強会に参加して、Dartの処理系について話をしてきました。id:krustfさん、開催おつかれさまでした。
レポートはid:uzullaさんのレポートがよくまとまってます。私もいい感じにエアろくろをしている写真をとっていただきました。

発表資料は以下のとおり。id:godai_0519さんによるDartの言語仕様の解説に続いての発表だったこともあり、興味を持ってくださった方も多いようでした。発表した甲斐があってよかったと思います。

発表中「DartVMはデバッグ専用で、処理系としてはfrogcが最重要」といいました。これについて少し補足しておくと、そもそもすべてのブラウザにDart処理系が乗るかどうかは現時点ではわかりません。特にiPhoneSafariに乗る可能性はあまり高くないと思っています。ですから、確実にどのブラウザで動くコードであるJSにコンパイルする処理系が最重要なのは当然と言えますね。
また、資料には入れませんでしたが、Closure Compilerとの関係で言えばDartはCCの後継となるための技術であると推測しています。いちいち型アノテーションをコメントの形で入れていては生産性が落ちるし、また型アノテーションは省略するのがあまりにも簡単で、型安全とはとてもいえない。であればやはり構文として型アノテーションを書ける言語は必要であるという判断なのでしょう。

最後に、以下にDart製アプリケーションのデモをデプロイしてあります。特にスマートフォンでの性能にご注目ください。Fireworksのように数百個のSpriteを描画するものはさすがに厳しいですが、Shootingのように数十個のSprite程度なら、AndroidiPhone4Sだと十分なパフォーマンスが出ていることが分かると思います。