Appfuse と Roo、どちらを使用しますか?またその理由は?
それぞれのスイートスポットは何ですか。
Appfuse と Roo、どちらを使用しますか?またその理由は?
それぞれのスイートスポットは何ですか。
この問題に関するTheServerSide スレッドに私が与えた回答によると...:
AppFuse は、新しいプロジェクトの単一の初期スキャフォールドを提供することを目的としています。これは、Maven アーキタイプまたは Eclipse の「新しいプロジェクト」機能に似ており、新しいプロジェクトの開始時にそれらを 1 回実行し、その後、スキャフォールディングされたコードを維持します。一度実行すると、足場システムはプロジェクトに関与しなくなります。
一方、Roo は、特定のプロジェクトで長期間使用するためのラウンドトリップ対応のアクティブ コード ジェネレーターを提供します。そのため、Roo は、最初の作成時だけでなく、プロジェクトを変更するときも常に価値を提供します。
実際には、これは、プロジェクトを進化させると、Roo が特定のファイルを自動的に維持することを意味します。簡単な例を挙げると、フィールドを追加 (または削除) すると、Roo は toString、getter/setter、JSP ページなどを自動的に更新します。コマンドも提供されるため、後で新しい機能を追加できます。したがって、プロジェクトを作成してから 6 か月後にセキュリティを追加する必要がある場合は、「セキュリティ セットアップ」を行うだけです。または、メールを送信する必要がある場合は、" http://static.springsource.org/spring-roo/reference/html/command-index.html#command-index-email-sender-setup「。Spring Web Flow、JUnit、Selenium、一般的な JPA プロバイダーなど、他の多くの機能分野にも同様のコマンドがあります。好きなだけ決定を延期するだけで、Roo はそれらの機能を追加するときにのみ追加します。それらを要求します (また、プロジェクトでこれらの新しい機能を自動的に使用します)。
他にも多くの違いがあります。Roo は、ユーザーが開発したアドオンによる拡張を可能にし、非常に使いやすいシェルを提供し、新しいプロジェクトを段階的に構築し、必要な場合にのみ機能を追加できるようにします。主要な Spring テクノロジーの最新バージョンを幅広くサポートします。 SpringSource が開発した (したがって承認された)アプリケーション アーキテクチャなど。
Roo リファレンス ガイドの「はじめに」の章を読むか、 10 分間のテストプロジェクトを完了するだけで、両者のアプローチが大きく異なることがわかります。
AppFuse と Roo に関する私のメモ:
AppFuse
完全に機能するテンプレート アプリケーション/プロジェクトです。
従来の DAO <-> サービス <-> コントローラー アーキテクチャ
Maven アーキタイプを使い始めるのは簡単
優れたドキュメントとチュートリアル
本当に最新ではありません。Spring 3 final が間もなくリリースされ、AppFuse は 2.5 ベース (?)
春のルー
一方、Spring Roo は、コード生成を使用して開発を高速化するツールです。
完全に構成された新しいプロジェクトを開始するには 1 分かかります
CRUD が従来の DAO/サービスの代わりに AOP を使用してドメイン オブジェクトに織り込まれたリッチなドメイン オブジェクトを作成します。
あなたがSpringに慣れていない場合、把握するのは難しい
ドキュメンテーションはまだそれほど良くありません
すごくかっこいい!つまり、たった 1 行のコードで Spring Security をプロジェクトに追加できます。
Telosys (軽量のコード ジェネレーター) も良い代替手段です。http://www.telosys.org/を参照
非常にクリーンなコード (ApectJ のような準拠なし) を生成し、テンプレートはカスタマイズ可能です。
Spring MVC Web アプリ (および他の種類のフレームワーク用のコードを生成する他の多く) を生成するために設計されたテンプレートのスタックがあります。
春のルー
長所。1.
カスタマイズ可能: 要件に応じて、異なるフレームワークとアドオンを追加および削除します。
データベース リバース エンジニアリング : データベース スキーマの準備ができている場合は、CRUD アプリケーションを作成します。
強力な Spring コミュニティ サポート。
NOSQL MongoDB のサポート
必要なアドオンを作成できます。
短所:
アスペクト指向および Spring スタックに関する深い知識が必要です。
アプフューズ:
長所:
短所: アプリケーションをカスタマイズしますが、Spring roo とは異なります。
私にとってAppfuseですが、最新ではありませんが、aspectjを使用したSpring Rooと、触れてはいけないコードの部分があり、それが好きではありません。
私はROOと一緒に行きます。
私はすでに使用しています
したがって、私の好みは SpringSource 製品です。API スタイル、ドキュメント、SpringSource の規則、さらにはセキュリティ フレームワークのコードを拡張/実装した後のコーディング プラクティスにも精通しているためです.. ;-)
したがって、私のアドバイスは、あなたにとってより自然なツール/フレームワークを使用することです..
乾杯、
Appfuse は、2008 年 5 月に最後のバージョンがリリースされたようで、もうメンテナンスされていないようです。
Roo まだリリースされていない Spring Framework のバージョン 3 を使用しているため、現時点では少しばかりのエッジですが、これは変更される予定であり、そのバージョンはテーブルに多くの興味深い変更をもたらします。
また、STS や tcServer などのより多くの Spring テクノロジー ポートフォリオをアップセルし、Spring Security と Spring WebFlow を非常に簡単に使用できるようにします。
まず第一に、コード生成、アスペクト指向プログラミングの使用など、roo は過剰に設計されているように見えます。
AppFuse -> SpringFuse に変更
AppFuse は、Tapestry、Wicket などの Web フレームワークと統合されていますが、Roo はまだ統合されていません。