Zerobase Dev Blog

コードネームYentry

Haxe + Meteor

f:id:zbih:20130624014818p:plain

TypeScriptとMeteorでアプリケーション開発に着手する直前に、第2回Shimokita.jsで新井さんのHead First Haxeという発表を聴いて、Haxeへの興味が高まっています。

ちなみに、Meteorの採用は決定しました。 TypeScript + Meteor から Haxe + Meteor に切り替えつつあるのが現状です。

前提

やりたいことは、

です。これまでの経緯は『これまでの経緯 ver. 2 (2013–06–26)』の通りですが、要約すると

  • Scala + Play
  • Smalltalk + Seaside
  • Dart
  • TypeScript + Meteor
  • Haxe + Meteor ←イマココ

を検討してきました。

Haxe

Haxeの売り文句は “One language, everywhere” です。Javaが登場時に “Write once, run anywhere” と言っていたのに似ています。

前回「HaxeはTypeScriptより魅力的ではありませんでした」と書いたのですが、考えを改めました。よくよく調べると、じつに魅力的な言語です。その魅力については省略しますのでHead First HaxeFIRST 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を使うつもりです。