ソーシャルWebサイトTumblrのクライアントのような、JavaとSwingを使用して小さなGUIアプリケーションを作成したい
Eclipse RCPまたはNetbeansプラットフォームを使用する必要がありますか?
プレーンスイング/ SWTを使用するよりも、どちらを使用することでどのようなメリットがありますか?
RCPアプリケーションは、SwingまたはSWTを使用して開発されたものよりも多くの依存関係を必要としますか?
ソーシャルWebサイトTumblrのクライアントのような、JavaとSwingを使用して小さなGUIアプリケーションを作成したい
Eclipse RCPまたはNetbeansプラットフォームを使用する必要がありますか?
プレーンスイング/ SWTを使用するよりも、どちらを使用することでどのようなメリットがありますか?
RCPアプリケーションは、SwingまたはSWTを使用して開発されたものよりも多くの依存関係を必要としますか?
回答:
デッカードはかなり良い反応をしました。このプロジェクトが今後どのように維持されるかを検討する価値があることを付け加えたいと思います。同僚(または開発者一般)のうち何人がSwingに精通しているのか、RCPに精通しているのはどれくらいですか。古いRCPアプリケーションを整理したいときに、私の組織にはいくつかの問題がありました。プロジェクトの設計に関わるほとんどの人が会社を辞めたか、開発以外の役割に転じたことがわかりました。私たちの社内の専門知識はSwingの方が多かったため、必要以上に困難になりました。また、その一部を個別のSwingベースのアプリケーションと統合したいという要望もありました。また、古いアプリがRCPアプリケーションであるという事実は、事態を困難にしました。
RCPアプリを作成するべきではないと言っているわけではありませんが、これらは最初に検討する必要があるかもしれません。
基本的に、Swingを使用するときは、すべてを手動で設定する必要があります。ウィンドウ、各領域、およびコントロールを定義し、その中に各コントロールを定義します。すべてのコントロールと領域に対して、変更やユーザーアクションなどを処理するハンドラーを定義します。明示的に定義して実装しないと何も機能しないため、これを行う必要があります。
RCPでもこれが可能ですが、多くの一般的な処理を実行する高レベルのコンポーネントが多数付属しています。たとえば、複数のドキュメントインターフェイス(MDI)を定義したり、クリックすると外部プラグインを起動するアイコンが付いたツールバーを追加したりするための構成手順は、ほんの2、3です。
RCPはEclipseを強化するものであるため、基本的なブロックは、開発環境と同様のニーズを持つアプリケーションに焦点を合わせる傾向があります。あらゆる種類のウィンドウでの広範なテキスト編集、あらゆる種類の状況依存メニュー/ツールバー/操作/などを使用する
したがって、多くの非標準的なものを含む小さなカスタムアプリケーション(すべての種類のカスタム描画またはスキン可能なコントロールを備えた派手なTwitterクライアントなど)を作成する場合、RCPを使用する意味はありません。実際、5 + MBのプラグインをアプリケーションにドラッグしても、実際にメリットはありません。
Webページを表示するアプリケーションを作成する場合、広範なヘルプシステムが必要な場合、インターネット経由で自動更新を行う必要がある場合、およびそのような大規模なデスクトップアプリケーションの機能は、RCPに最適です。
私はEclipse RCPとNetbeans Platformの両方に関する優れた専門知識を持つプロのJavaソフトウェアエンジニアです。
「Eclipse RCPまたはNetbeansプラットフォームを使用する必要がありますか?」
回答: 次の要因によって異なります。
上記の要因によるこれらの各RCPの長所と短所は次のとおりです。
Netbeansプラットフォーム:
長所:
短所:
Eclipse RCP:
長所:
短所:
私の個人的な好みは、コードで実行していることを完全に制御したいという理由だけで、SwingベースのUIはSWTよりもはるかに安定していると思っているからです(以前は持っていました)コーディング中にEclipse IDEで一部のUIがクラッシュします:P)!
「RCPアプリケーションは、SwingまたはSWTを使用して開発されたものよりも多くの依存関係を必要としますか?」
回答: 依存関係は、これらの2人の赤ちゃんを転がすものです。そうでなければ、それらをRCPと呼ぶ必要はありません。RCPは、Rich Client Platformの略です。つまり、(APIを介して)実行する手段を提供することにより、「リッチ」アプリケーションの構築に役立つエコシステム(APIの大規模なセット)です。;-)。したがって、ここでの答えは「YES、WAY MORE DEPENDENCIES」です!