Haxe + Meteor
TypeScriptとMeteorでアプリケーション開発に着手する直前に、第2回Shimokita.jsで新井さんのHead First Haxeという発表を聴いて、Haxeへの興味が高まっています。
ちなみに、Meteorの採用は決定しました。 TypeScript + Meteor から Haxe + Meteor に切り替えつつあるのが現状です。
前提
やりたいことは、
- IA DSLとしての抽象化CSSとドメイン駆動設計
- アーキテクトがリードするUIプロトタイピング(OOSass と JavaScript MVC と DDD)
- UIコンポーネント単位のエンド・ツー・エンドの開発パイプライン
です。これまでの経緯は『これまでの経緯 ver. 2 (2013–06–26)』の通りですが、要約すると
を検討してきました。
Haxe
Haxeの売り文句は “One language, everywhere” です。Javaが登場時に “Write once, run anywhere” と言っていたのに似ています。
前回「HaxeはTypeScriptより魅力的ではありませんでした」と書いたのですが、考えを改めました。よくよく調べると、じつに魅力的な言語です。その魅力については省略しますのでHead First HaxeやFIRST STEP to Haxe/JavaScriptをご覧下さい。
FlashDevelop
さて、まずはHaxeの開発環境です。静的型付け言語のメリットを活かすにはIDEが必要だと考えています。TypeScriptならVisualStudioですが、HaxeならFlashDevelopがいいようです。余談ですが、HaxeはFlashから派生したプロジェクトなので、一見関係なさそうな名前の “FlashDevelop” が先進的にサポートしているのも納得できます。
MassiveUnit
FlashDevelopでHaxeの開発環境を整えたうえで、MassiveUnit (munit) というunit testing frameworkを試してみました。ソースはBitBucketのzerobase/hellohaxeです。
追記:mocking libraryのMockatooを組み込んでみました。MockatooはHaxe 2.10では動作しますが、Haxe 3.0では動作しません。私はしばらくHaxe 2.10を使うつもりです。