もうStripesも1.5か
今日も2次ソースからネタ探ししていくぜ!
http://d.hatena.ne.jp/shot6/20080821#1219291380
以前なんどかStripes(これなぜかスペルを非常に打ち間違える)を紹介してきてはいましたが、もう1.5ですかー。
以前書いた日記を見るとベターStrutsとして非常に評価していたのがわかります。
現在の考え方だと
Webフレームワーク | 良い点 | 不満な点 | 個人的評価 |
---|---|---|---|
Struts | 普及している。 | 開発効率が悪い。モチベーションが上がらない。カスタムタグでhtmlを生成。 | ★−−−− |
Stripes | ベターStruts。 | 日本語の資料がほとんどなし。カスタムタグでhtmlを生成。 | ★★★−− |
JSF | 開発効率が良い。 | 業務アプリには良いが、Webサイトには不向き。IDEのサポートが必須。 | ★★★★− |
Wicket | コードベースはモチベーションが上がりやすい。 | htmlが変更された場合コードの変更が厄介な場合あり。 | ★★★★− |
JAX-RS | シンプルでわかりやすい。AJAXとの相性良し。 | 元々Webアプリ用ではない。JSPが使えないためVelocity必須か | ★★★★− |
SpringMVC | シンプル。2.5でアノテーションも対応した。 | Spring依存。カスタムタグでhtmlを生成 | ★★−−− |
というところかな。ベストなものがないので満点はなくしました。JAX-RSを追加しましたが、これはこれでWebアプリにもありだと思うようになりました。当たり前だけれども、AJAXと相性がよいし。
おもしろいのが、SpringMVCは1.x時代からある古典的なものなのにアノテーションに対応し、POJOで作成できるようになったりと従来のかき方も出来る一方で新しい書き方もできることです。Strutsが1.xと2.xとでかなり別物なのに対して互換性等を重要視しているのがわかります。Spring自体も2.0から2.5になるにあたってすごく変わったというのに互換性をとってきています。互換性を取りながら進化させる苦しみはかなりのものだと思いますので、Springが支持されているのはこういうところに決して手を抜かないという部分ですかね。単純に製品として優れていればそれが勝つということはないというのは歴史が証明していますし。
ですから、オープンソースなフレームワークは今後も性能そのものよりこのフレームワークが何を解決したいのかなど、どういう考え方なのか、根本的な思想がぶれないことが大事だと思います。あらゆることに対応は出来ないのだから、無理して肥大化させずに得意な部分を延ばしていってほしいものです。そういう意味で小型にして汎用化を狙うT2はなかなか面白い。JAX-RSと激しく競合しそうな内容ですが。個人的には検索しやすいように改名してくれるのが一番の望みだったりします。プロダクトそのものの質は悲観していません。薄いことによって修正や拡張が容易だと思いますので。
Stripseはカスタムタグでhtml生成するのが嫌いなのでその辺を取り除いていくともりもりと不便になっていくのですが、SpringMVCやStrutsもそうですし、Strutsの後継はこいつで決まりだなーと思っていたものでした。ですが、なかなか日本で評価されていない。カワイソス。
もっとも、日本の場合J2SE5.0以降が普及しきってないということもあるでしょう。もう4年近くたつというのに。そしてもうすぐ1.4.2のサポートは切れます。いやでも移行していくしかありません。これでやっとGenericsやEnum、アノテーションが本格的に動き始めるでしょう。
そのときのフレームワークの主流は何になるでしょうか。