プログラミング言語やフレームワークの選定は見極めが必要だと思います。
仕事ではJavaで業務Webアプリケーションの作成をしています。
今まで使ってきたJavaフレームワークは
です。
少しかじっただけのものあります。
プログラミング言語、フレームワークで言えることは、
バージョンが上がると便利になることが多いということです。
「これいいやん」「ちまたで流行ってるから使ってみよう」
という感じで使い始めますが、使っているとなんか違和感ある、使いにくい、用件を満たしていないと
いろいろと問題が出てきます。
すべての問題を解決できるものはないとは思いますが、
使っててめんどくさいという比率が多くなってきたら他のものに変えた方がいいでしょう。
変えるなら開発序盤です。終盤だと終了のお知らせです。
今までダメだったフレームワーク。
2つともJSFがベースのフレームワークです。
これからJSFがデファクトスタンダードになると思ってましたがそうなりませんでした。
画面での値の扱いがややこしかったのです。
S2JSFはその点を工夫したものでしたが、やはり使いにくかったです。
でも次の案件もJSFベースのTeedaを選択しましたが、
開発途中で画面の作成がとてもしにくいことがわかって開発序盤にSAStrutsに変更しました。
同じSeasarプロダクトだったのでJava側は再利用できましたが、画面周りは作り直しでした。
そこで自分なりに見極め基準を作りました。
- O/Rマッパーが使え、SQLが自動発行されるまたは分離されている
- 設定ファイル(xml)が少ない
- 画面のロジックとデザインが分離できる
- 疎結合にコーディングできる
- オブジェクトが扱いやすい
- シンプルであること
楽に作れることとコーディングしやすくメンテナンスしやすいことが基準ですね。
使ってみないとわからないことが多いので、
フレームワークの使用経験が浅い方はどんどん使った方がいいと思います。
そうすることでフレームワークの便利さや差がわかってきます。
またフレームワークによって考え方が違うのでそれの勉強にもなるしトレンドもわかります。
フレームワークにも種類があって、全部入りのもの、単発のものがあります。
単発の組み合わせは融通が聞きますが、連携に工夫が必要です。
全部入りは使い方を覚えるだけでほとんどのことが出来るので楽です。
その他のものを連携する時は制約があるのでそこには注意です。