Seasar2によるスーパーアジャイルなWeb開発
Seasar2によるスーパーアジャイルなWeb開発 (WEB+DB PRESS plusシリーズ)
- 作者: ひがやすを
- 出版社/メーカー: 技術評論社
- 発売日: 2008/03/25
- メディア: 大型本
- 購入: 36人 クリック: 4,854回
- この商品を含むブログ (50件) を見る
先のプロジェクトで作成したPHPの議会答弁管理アプリをモルモットにして、Javaで書き直すことでお勉強をしている。といっても、今までのようなJava1.4+Strutsというのではなく、新たな技を身につけたいと思って、Teedaに注目。きっかけはひがさんがお書きになった『Seasar2によるスーパーアジャイルなWeb開発』という本。
少し前に購入して一通り学習したのだけど、これで少し作ってみるか、と一念発起。議会答弁アプリのモルモット化はもともと持っていた発想で、いろいろな言語・フレームワークに置き換えてみようと思っていて、最初はRailsで作ろうと考えていた。でも、もともとJavaのほうが得意だし、Teedaには少し魅力を感じたので、優先順位を変更。
やってみると、これは面白い。何が面白いかというと、MVCのView(=HTML)からほぼ完全にロジックが消えている(ように私には見える)。これはひがさんがそう意識して作ったのかもしれない(間違っていたらごめんなさい)。
たとえば、分岐。普通には、分岐条件を記述する。PHPのSmartyは
{if …}
{/if}
の…の部分に条件式を記述している。Railsなんかは昔のJSPと同じで<% if … %><% end %>
ともろロジックを記載する。
Strutsはタグ化していて一見洗練されているように見えるけど、
の「…」の部分に分岐ロジックが記載されている。
結局のところ、Viewにロジックが書かれていることになる。
一方、Teedaは
これは私には画期的に思えるし、当初、ものすごく困った。今までの感覚ではついロジックを書きたくなるし、頭の中でHTMLを組み立てる段階ですでにViewの中にロジックを書いている。切り替えるのが大変だった。
でも、考えようで、ロジックというのは絶対にクラスの中に書いたほうが書きやすい。細かい制御が書けるから。そう頭を切り替えたら、このTeedaの発想というのは柔軟性がある。
まだ、Teeda版議会答弁アプリは途中なので、作業を続けてみようと思う。