このバランス感覚、さすが - GoogleのDIフレームワーク"Guice"を使ってみる
上記のGuiceのハウツーを読んだけど、使えるかどうかさっぱりわからなかったので、もうちょっとだけ調べてみた。すると、GuiceのGoogle Codeページに、GuiceとSpringを比較したドキュメントがあって、いろいろ書いてあった。GuiceとSpringの違い
要約すると、
- Guiceはフルスタックでない
- Guiceは速い
- GuiceのDI定義は小さく、メンテナンスしやすい
Guiceの特徴
その他のGuiceの特徴として、いくつか興味深い点があげられていた。
- Springのアノテーションと互換性がある
- Springと共存できる
- Spring用のBeanを使うことができる
- DI定義は、ソースコードだけでなく外部ファイルに定義できる
- AOPAllicanceのmethod interceptorをサポートしている(=Springのtransaction interceptorが使える)
- AOPをフレームワークのコアに組み込んでいるため、開発者が覚えるべきことが少ない
Guiceの立ち位置とSeasar2
このドキュメントの中で、何度も何度も「Springをリスペクトしている」という旨を記述して予防線をはりつつ、Bean原理主義的なSpringの問題点を明確に認識した上でのフレームワークだと言っている。設定ファイルの問題や、AOPに対する取り組み状況を見ても、Seasar2とGuiceはかなり近い立ち位置に思える。
国内ではかなり知名度を上げ、それなりに普及してきた(自分のまわりではSpringばっかりだけど…)Seasar2だが、海外ではマイナー中のマイナーだ。それでも、Springに対する機能的・性能的な優位点から海外への広がりも期待できたが、Googleブランドを持つGuiceの登場によって一つ道がせばまったか?
コメント