JavaとGroovyのハイブリッドWebアプリ
今日,行きの電車でふと思いついたんで,ここで作ったSQLiteのDBを利用するWebアプリを作ったよ。
クライアントアプリでいいかと一瞬考えたが,Swingまわりでモタつくの目に見えてるし,BubblesやStick使えば,クライアントアプリ同然なんでWebアプリでいいや。
UIにAJax使いたかったんだけど,何をトチ狂ったかGrailsやWicketを先に調べて,地力が足らず行き詰まる。で結局,使い慣れたClickで落ち着いた。
#なんで,最初からClickにしなかったんだろ?>自分
画面はClickでOKなんだけど,ロジックをJavaで書くのもちょっとアレだからGroovyで書いた。embeddalbe用のgroovy-all-1.5.x.jarをWEB-INF/libに放り込むだけだし,Javaから見りゃGroovyもクラスだし,それこそJetGroovyの本領発揮ってもんだ。;-)
Groovyを使いたかったのはGSQLを使いたかったからなんだけど,こんなコード書けちゃうと,使い捨てのツールのためにJava使う気にはなれんよな。
def execute(cmd, arg) { // cmdの値と同じ名前のメソッドを呼ぶ this."${cmd}"(arg) } def insert(arg) { ... } def update(arg) { ... }
もうね,Groovy楽。ちょー楽チン。あとClickも楽。たまらんわ。:-D
#せっかくだから,時間見つけてGrails版とWicket版も作ってみようっと。
ps.
課題と言えば,SQLiteのDBの置き場だ。この程度のツールのためにデータソースとか作りたくないんで,WARに同梱したいんだけど,接続文字列の組み立てに悩む。"jdbc:sqlite:test.db
"だとカレントディレクトリ*1を見に行く。
あまり良い解決策も思いつかなかったんで"jdbc:sqlite:/c:/test.db
"とかでお茶を濁す。