私は、HibernateとSpringを統合して、Swingで多くのデスクトップアプリケーションを開発しました。アプリケーションのライフサイクル、ロギング、アラート、承認、フォーム、検証など、多くのことが繰り返され、迅速かつ便利な方法で実行される必要があることがわかりました。フレームワークを探し始めました。判明したように、私は数年前から死んでいるSwing Application Frameworkに出会いました。 Spring RCPは本当に期待に応えました。特に、Java Beanモデルは私が気に入ったものですが、私もそれが死んでいることに気づきました。NetbeansRCPは私には向いていません。デスクトップ開発に別のIDEを使いたくありません。EclipseRCPにあまり興奮していません。Eclipse指向であると感じました。 、学習するのはそれほど簡単ではありません。
Javaでデスクトップベースのビジネスアプリケーションを開発するためのサポートが非常に弱いことに驚いています。 JavaはWeb環境でのみ使用されていました。そのようなアプリを作成するための優先言語は何ですか?そして、Javaを使い続けたい場合、Spring RCPに似たものを見つける機会はありますか? (今のところできませんでした)?
griffon を試してください。これは groovy言語 に基づいており、 grailsフレームワーク に触発されています。 JVM上で実行され、言語はJavaプログラマーにとって非常に使いやすいです。
サイトからの引用
GriffonはJVMでデスクトップアプリケーションを開発するためのアプリケーションフレームワークであり、Groovyが主要な言語です。 Grailsに着想を得たGriffonは、Convention over Configurationパラダイムに従い、直感的なMVCアーキテクチャとコマンドラインインターフェイスを組み合わせています。
....アーキテクチャは非常に拡張可能です。
Griffonフレームワークは、プラグインを介して拡張可能です。たくさんの選択肢があります。たとえば、Swingx、Jide、MacwidgetsなどのサードパーティのSwingコンポーネント用のプラグインがあります。とりわけDataSource、GSQL、Hibernateなどの永続性関連プラグイン。 3Dグラフィックスとアニメーションのサポートは、JOGL、LWJGL、およびProcessingを介して可能です。などなど!
主にアプリケーションのサイズに依存します。
小規模および中規模のアプリの場合、異なる言語を使用しないJavaFX 2を使用するのが理にかなっています。基本的な tutorials のいくつかから始めることができます。
エンタープライズレベルのアプリケーションで述べたように、 Eclipse RCP および Netbeans RCP は良い選択です。
Netbeans RCPは開発が非常に簡単です。IDEプリファレンス。理由があります。これについては無料の book が適切な出発点です。
e4のオプション もあり、Eclipseの大幅な改善になるはずですが、まだ使用したとは言えません
見る価値のある関連リソースは次のとおりです。
http://netbeans.dzone.com/why-from-Eclipse-rcp-to-netbeans-platform
JGoodies をご覧ください。ルックアンドフィールがはるかに優れているだけでなく、Swingアプリを設計するためのフレームワークも提供します。
デスクトップアプリケーションに関する大きな問題は、設計しようとしているものに本当に依存することです。 webpage-> request-> webpageであるwebappとは異なり、デスクトップアプリケーションはほとんど何でもできます。ビジネスアプリであっても、標準のサイクルはありません。 AJAX =通常のJava EEまたはPHP webapp。そして、いくつAJAXライブラリは、実際には特定のコンポーネントの呼び出しと更新以外のフレームワークを提供します。
メニュー、ボタン、更新中のパネル、その場でレンダリングされるもの、グラフの変更、データの更新などを行うことができます。
フォームを探しているだけなら、おそらく JGoodies が最善の策です。
フレームワーク自体は知りませんが、Netbeans
はSwingコンポーネントのドラッグアンドドロップウィザードを提供します。 Eclipse
にも同様のプラグインがありますが、Netbeansプラグインに基づいています。
アプリケーションのライフサイクル、ロギング、アラート、承認、フォーム、検証など、多くのことが繰り返され、迅速かつ便利な方法で実行される必要があることがわかりました。
これらをすべてのプロジェクトで共有して使用できる個人用の「コア」ライブラリに抽出することをお勧めします。あなたが話していることを既に実装しているので、完全に新しいフレームワークを勉強するよりもそれらを一般化する方が簡単です。おそらく、プライベートMavenプロジェクトですか?
開発の焦点はWebおよびモバイルに向けられているため、デスクトップのフレームワークベンダーからの多大な努力は期待できません。