入門ということ

Seasar2入門

Seasar2入門

Seasar2入門というタイトルですが、本書は、Seasarプロジェクトの中でも、Super Agile Struts(SAStruts)とS2JDBCというプロダクトのチュートリアルです。

一般的な開発経験があれば、写経をすれば、実務でこれらのプロダクトの恩恵にあずかることができると思います。私はまだまだSeasarのディープなところは全然知らないのですが、それでも今までに比べると、割と苦しみの少ない開発ができる気がします。

一方、副題に「JavaによるはじめてのWebアプリケーション開発」とありますが、本書だけで実際の製品品質のシステムを開発できる、といった類の本ではありません。とりあえず動かすのに必要最低限のことが優先的に書かれています。そういう意味では、Webアプリ開発全般の入門書ではなくて、あくまでも、Seasar2の入門書になっています。では、本当にはじめてのひとは、どうすべきなのでしょうか。

実際の開発に際しては、要求定義等は当然として、プログラミング全般の知識、セキュリティや性能、運用、その他非機能要件についても考察しなければなりません。それらをどのように実現するかについては、本書の記述を手がかりに、人に聞いたり、他の書籍や、Webサイト、はてななどから、自分で色々調べる必要が出てくるでしょう。

なぜこんなことをワザワザ書くのかというと、自分たちがはじめてS2Strutsで開発したとき以来、今でもそうした調査タスクが作業の多くを占めるからです。トランザクションなどの一般的な概念だけでなく、プロダクト群の共通基盤になっているS2Containerの動きにしても、時にはソースを追ったり改造したりして、理解を進めていきながら開発していた、というのが実情です。

でもこれは、本書中にも記述がある、著者のひがさんが唱えているプログラミングファースト開発 - yvsu pron. yasのような開発モデルを前提におくならば、必要なことかもしれません。

この開発モデルは、すごく乱暴にいうと、「セル生産方式」みたいなもので、一人一人が単なるコーダーではなくて、開発の諸段階を一通りこなせるスキルがあって成り立つものだと理解してます。そうだとするなら、一冊の本に書かれていることをただ受け入れるだけではだめで、自分で考え、必要な情報を得ていくプロセスがどうしても要るのです。そういう方向を目指して次に進むための、本書は文字通り入門書になるかもしれません。

とさんざん偉そうに書きましたが、やっぱりGoya的なものとか、id:wyukawaさんがちらっと書いていたSeasar2 in Actionじゃないけど、そういった見取り図がほしいよね。