JavaとGroovyとScalaでClickアプリ作ってみた

別になんか意図があったわけじゃない。ただ何となく,Scala on Wicketが出来るんなら,Scala on Clickもできんじゃね?と思った次第。


いちお,でけた。それぞれの言語で書かれたPage間を行ったり来たりするだけのトイプログラムよ(Groovyはオマケ)。それぞれの言語とか言ってるけど,最後にゃ.classファイルになるんだけどさ。:-)


ClickはPageクラスのアクセサではなくフィールドを参照するんで,そんだけでScalaやGroovyは不利だと思う。さらにGroovyの場合,無名クラス作れないから素直にClick使うとあんまうれしくない。
#metaClassでホゲって無名クラスの代わりにクロージャ渡せるようにするとか...


Scalaは「簡単に記述できるJava」的な位置づけで期待してるんだけど,IntelliJScalaプラグインがもちっと強力になってくれないと(あたしが)威力を感じられない。実のところ,Groovyだって型指定すれば,それなりに型しばりになるんだけど,なんつーかGroovyはGroovyで,Javaの代わりって感じじゃないかなって思い込んでる。:-P
ScalaScalaで,いくら良くても誰が使うんだ?(誰に使わせるんだ?)ってのが残るんだけど,趣味の範疇で自分が使えりゃ良いやってことにしとく。えへっ。


とりあえず,今日は,

  • 変数に @BeanProperty を設定してコンパイルするとアクセサができるみたい。
  • Hoge.classの代わりに classOf[Hoge] を使う。

ってのを覚えた。パパラパッパパー。


真のScala使いになるには,関数脳に入れ替え直すべきなのだろうけど,それはもうちょっと先の話。


ps.
Java,Groovy,Scalaが混じってても,何事もなく開発できるIntelliJってステキだ。
NetBeansEclipseはどうか知らない。

IntelliJ+WinstoneでWebFlavorを試す

Scala使ってみるだけだったら,わざわざScala on ClickとかしないでWeb Flavor使うのがいいんじゃね?って思うよね。昔,試したときはScalaプラグインがイマイチだったけど,今回試したら何事も無く編集できた。すごいぞ,IntelliJ。:-)


実行すんのに,稚拙Winstoneプラグインを使ってま。ポイントは,WinstoneのWebアプリケーションディレクトリをビルド先じゃなくて,ソース(Webコンテンツディレクトリ)にする事と,Makeしない事の2つ。


Winstoneってなんかバグ持ちだった記憶があるけど,ちょろちょろ遊んでる分には普通に使えてる。