--
--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Tag:

25
2014

[Java]Play Framework 2をちょっと触った感想

CATEGORYJava
久しぶりにプログラミング絡みの話。仕事でJavaのWebアプリケーションフレームワーク「Play Framework」使うことになるかも?…と下調べをしたのだけれど、結局使わなそうなので、触った感想とかをまとめとく。あくまでちょっと触った程度なのと、最近の他のフレームワークに詳しいわけでもないのでその辺ご了承くださいm(__)m


一応簡単にPlay Frameworkの解説。PlayはRuby on Rails (RoR) とかの思想に基づくJava(とScala)用のWebアプリケーションフレームワーク。Webアプリケーションのフレームワークといっても、StrutsJSFなんかとは違い、Web周りだけでなくO/Rマッパーに加えて実行環境やテストツールなんかまで含むいわゆるフルスタックとか言われるタイプである。触ったバージョンは最新は2.2.1。

参考にした情報源はこの辺。日本語情報は多くないが、公式サイトが割と充実してたので助かる。※ 日本語公式サイトのドキュメントは一部リンク切れや最新Play 2.2とは違う部分もあるので、そういう場合は英語版参照で。


以下感想。触ってみて個人的に思ったのはこんなところ。
  • Javaの流行とか無視して自分の道を突き進んでる。
  • staticがいっぱい。
  • Scalaのテンプレートはイケてない。
  • 全部揃ってるので、楽と言えば楽。
  • フレームワークで想定されてる以外のことすると面倒そう。
良くも悪くも既存のJavaの発想に囚われていないというか、たぶんRoRとかをそのままJavaに取り込んだものな気がする(RoR直接触ったことは無いけど、同じような思想のCakePHPに似てる)。Javaを知らずにRoRとかを触った上で他言語からやってきた人は違和感ないだろうけど、他のフレームワーク使ってたJavaプログラマが触ると最初はかなり違和感を覚えそう(実際覚えた)。

最近のJavaだと、DIとアノテーションが流行ってるイメージ(違ってたらすいません)だけど、そういうものは基本登場しない。staticと継承、それに設計より規約でカバーしている。staticというと、昨今では凄い嫌われてるイメージがあるけど、全然気にせずガンガン使いまくり。ただ、その結果自動テストがしづらくなる問題には、インメモリデータベースを内蔵することで対処はされている。

基本的なものは全部揃っているので楽と言えば楽なんだけど、Javaの他の知識をあまり応用することができず、また独特な設計をしていることで他のフレームワークを組み合わせたりするのは面倒そうだなぁと感じた。例えば、staticを止めたり、またDIフレームワークのGoogle Guiceを組み込んでDIすることもできるらしいけど、そういうことすると逆にPlayの標準から外れることになって、別のトラブルを抱えそうな気がした(そこまで試さなかったのであくまで印象です)。

とはいえ、ここまでの話は単に用途や好みの問題かなと思う。
が、一つだけ明白にイケてないと感じたのがScalaベースの標準テンプレート。テンプレートは出来るだけ素のHTMLに近いものを使いたいし、そういうのを使わないなら既存のJSPを採用してくれた方が、知識も蓄積されててなんぼもマシだろうと。公式にはカスタムタグより便利でしょ?みたいな文があるけど、正直スクリプトレットやELとの違いが分からぬ。ただの車輪の再発明じゃないの???


…と、最後ちょっと不満も混じったものの、感想はこんなところ。
まとめると「RoRみたいなものを使いたい」「でも言語はJavaでなければならない」って条件ならおススメできる。
ただ、これなら何もJavaでやらなくても…素直に本家RoRとかCakePHPにした方がシェアも情報も多くて楽なんじゃ?と思わないわけでもない(´・ω・`)
スポンサーサイト

Tag: Java Play

0 Comments

Leave a comment

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。