web-dev-qa-db-ja.com

Javaデスクトップアプリケーションに適したフレームワークはありますか?

私は、HibernateとSpringを統合して、Swingで多くのデスクトップアプリケーションを開発しました。アプリケーションのライフサイクル、ロギング、アラート、承認、フォーム、検証など、多くのことが繰り返され、迅速かつ便利な方法で実行される必要があることがわかりました。フレームワークを探し始めました。判明したように、私は数年前から死んでいるSwing Application Frameworkに出会いました。 Spring RCPは本当に期待に応えました。特に、Java Beanモデルは私が気に入ったものですが、私もそれが死んでいることに気づきました。NetbeansRCPは私には向いていません。デスクトップ開発に別のIDEを使いたくありません。EclipseRCPにあまり興奮していません。Eclipse指向であると感じました。 、学習するのはそれほど簡単ではありません。

Javaでデスクトップベースのビジネスアプリケーションを開発するためのサポートが非常に弱いことに驚いています。 JavaはWeb環境でのみ使用されていました。そのようなアプリを作成するための優先言語は何ですか?そして、Javaを使い続けたい場合、Spring RCPに似たものを見つける機会はありますか? (今のところできませんでした)?

27
user1091733

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を介して可能です。などなど!

11
Jayan

主にアプリケーションのサイズに依存します。

小規模および中規模のアプリの場合、異なる言語を使用しないJavaFX 2を使用するのが理にかなっています。基本的な tutorials のいくつかから始めることができます。

エンタープライズレベルのアプリケーションで述べたように、 Eclipse RCP および Netbeans RCP は良い選択です。

Netbeans RCPは開発が非常に簡単です。IDEプリファレンス。理由があります。これについては無料の book が適切な出発点です。

e4のオプション もあり、Eclipseの大幅な改善になるはずですが、まだ使用したとは言えません

見る価値のある関連リソースは次のとおりです。

http://netbeans.dzone.com/why-from-Eclipse-rcp-to-netbeans-platform

Netbeans RCP vs Eclipse RCP

9
Mite Mitreski

JGoodies をご覧ください。ルックアンドフィールがはるかに優れているだけでなく、Swingアプリを設計するためのフレームワークも提供します。

デスクトップアプリケーションに関する大きな問題は、設計しようとしているものに本当に依存することです。 webpage-> request-> webpageであるwebappとは異なり、デスクトップアプリケーションはほとんど何でもできます。ビジネスアプリであっても、標準のサイクルはありません。 AJAX =通常のJava EEまたはPHP webapp。そして、いくつAJAXライブラリは、実際には特定のコンポーネントの呼び出しと更新以外のフレームワークを提供します。

メニュー、ボタン、更新中のパネル、その場でレンダリングされるもの、グラフの変更、データの更新などを行うことができます。

フォームを探しているだけなら、おそらく JGoodies が最善の策です。

4

フレームワーク自体は知りませんが、NetbeansはSwingコンポーネントのドラッグアンドドロップウィザードを提供します。 Eclipseにも同様のプラグインがありますが、Netbeansプラグインに基づいています。

1
TechSpellBound

アプリケーションのライフサイクル、ロギング、アラート、承認、フォーム、検証など、多くのことが繰り返され、迅速かつ便利な方法で実行される必要があることがわかりました。

これらをすべてのプロジェクトで共有して使用できる個人用の「コア」ライブラリに抽出することをお勧めします。あなたが話していることを既に実装しているので、完全に新しいフレームワークを勉強するよりもそれらを一般化する方が簡単です。おそらく、プライベートMavenプロジェクトですか?

開発の焦点はWebおよびモバイルに向けられているため、デスクトップのフレームワークベンダーからの多大な努力は期待できません。

1
Ivan Nikitin