2012-02-07 1 views
9

私はちょうど私がそれをSpring Rooと比較してどのように不思議jbossの偽造はどのように春のrooと比較されますか?

Jboss Forgeを見つけた

誰もがこれらの2つのツールの主な偶然の一致点と相違点を強調することはできますか?

+1

それぞれを試してみてください。この質問は私にはやや曖昧なものです。 – millimoose

+1

http://stackoverflow.com/questions/4243454/to-roo-or-not-to-rooをご覧ください – cthulhu

答えて

33

これらのツールは、プロジェクトの設定と構成に役立つコマンドラインツールと同じように機能し、どちらもコードを生成できます。 しかし、いくつかの大きな設計上の違いがあります:

1)Forgeは、あらゆる種類のMavenプロジェクトで使用するように設計されています。 RooはSpringにかなり結びついています。 Forgeはもっと一般的なものなので、プロジェクトで使用するあらゆる種類のテクノロジー用のプラグインを見つけたり書き込んだりすることができます。これはRooにも当てはまりますが、春の最先端の技術だけです。 Rooは(ちょうど)Springツールですが、ForgeはMavenプロジェクトで動作するプラグインをビルドするための(より多くの)汎用フレームワークです。

2)Rooは、ツールだけでなくプログラミングフレームワークです。コード生成はAspectJを多用してプログラマーにコード生成をほとんど見せないようにし、動的言語に基づいたフレームワーク(エンティティの動的ファインダメソッドなど)にしかない機能を提供します。これは良いことと悪いことの両方ができます。生成されたコードを「参照」しないため、強力でよりエレガントなので、良いことです。悪い点は、Rooに大きなロックインを与えることです。これは技術的には真実ではありません。なぜならAspectJは単純なので、通常のJava/Springコードとはまったく違います。 AspectJもすべてのIDEでうまく機能しません(EclipseとIntelliJは問題ありません)。このプログラミングモデルのため、私はRooを決して使用しません。動的言語機能を持つフレームワークが必要な場合は、Grailsを使用します。途中ではありません。もちろんこれは私の個人的な意見です。

Forgeでのコード生成は、従来の種類のものであり、すべての欠陥がありますが、非標準的なものにロックすることはありません。組み込みコードの生成は、プレーンJava EE 6に基づいています。

  • 免責事項私はForgeの貢献者であり、偏っているかもしれません;-)
関連する問題