セカイノカタチ

世界のカタチを探求するブログ。関数型言語に興味があり、HaskellやScalaを勉強中。最近はカメラの話題も多め

マーブルワーズ

Strutsは完全に間違ってる

目が覚めてしまったので、ぼやく。

仕事で、久しぶりにStrutsを触る機会があったのだけど、絶望した。

思えば、僕が「自分のための」プログラムを初めて書いたのが、Strutsで作った「ドラクエモンスターズ配合検索」というサイトで、夏休みだか、GWだかを利用して5日ぐらいかけて作った覚えがある。モンスター表と配合表だけの簡単なサイトだった(データの入力は大変だった)。その時は、「Web開発って大変だな」と思った。画面遷移とsessionの関係が理解できず迷路に迷い込んだ記憶がある。

しばらくたって、railsを覚え、「ドラクエモンスターズ配合検索」を書きなおしてみたところ、1日で書けてしまった。元のプログラムがあったにせよ、驚異的なスピードだった。そして、画面遷移とsessionの関係も自然と理解することができた。

Strutsの画面遷移モデルは根本的に間違っている

Railsでは、画面遷移は、コードで表す。プログラミングの中に自然に画面遷移が溶け込んでいて、違和感がない。また、URLをメソッド、ビューが連動しているので、迷うこともない。
一方、Strutsでは、悪名高いstruts-config.xmlに画面遷移を書く。URLとリソースも何とかして分離しようとしている。そして、そのことに多大な労力を払っている。
Strutsを使っているエンジニアは、画面遷移のラビリンスに簡単に迷い込む。

Servletのほうがましじゃね?

先日、ちょっとした画面を作るためにServletJSPを使ったんだけど、Strutsで書くより楽に感じた。
何で、こんなものがWeb開発の標準になっているんだ?

薄々は感じていたけど、Javaの連中は相当マゾだよね。(´・ω・`)