2009-02-14 12 views
6

Ich plane, an einigen Hobby-Java-Projekten zu arbeiten. Ich habe einige kleine Projekte gemacht, daher bin ich mit der Sprache selbst vertraut und baue eine GUI mit Swing. Ich möchte meine Arbeit ein bisschen weniger ad-hoc machen und vielleicht ein paar Werkzeuge finden, die in der realen Welt nützlich sein könnten.Gibt es ein besseres Java-Anwendungsframework als Swing?

NetBeans wird jetzt mit der Swing Application Framework, die ein sehr nützliches Werkzeug zu sein scheint gebündelt. Es hilft dabei, die Kluft zu überwinden zwischen dem Wissen, wie man einen JFrame erstellt und wie man ihn im Kontext einer größeren Anwendung effektiv einsetzt. Das Problem ist, dass große Teile der API völlig undokumentiert sind und es praktisch keine Dokumentation darüber gibt, wie man sie benutzt. Es gibt nur zwei Fragen in den FAQ, die Mailinglisten sind fast tot und ich kann nicht einmal sagen, ob das Projekt aktiv entwickelt wird oder ob es aufgegeben wurde. Ich habe es geschafft, basierend auf der two-year-old JavaOne presentation, die auf der Homepage des Projekts veröffentlicht wurde.

Gibt es eine bessere Alternative? Gibt es ein anderes Tool/eine andere Bibliothek/API, das die gleiche Sache auf eine etwas neuere Art und Weise macht? Beachten Sie, dass ich zur Zeit Desktop-Anwendungen entwickeln möchte und nicht nach J2EE-Frameworks wie Spring und Hibernate suche.

Antwort

5

Die basic principles für einen guten Desktop-Erstellung sind die gleichen Web-oder Enterprise-Anwendungen zu schaffen. So kann der Kern von Spring oder anderen Frameworks wie OSGi oder PicoContainer problemlos außerhalb von J2EE verwendet werden. Zum Beispiel Eclipse uses OSGi als sein internes Framework. Die ursprüngliche Verwendung des Model-View-Presenter (MVC) -Musters erfolgte für Smalltalk-GUI-Widgets.

In der Tat, für mich selbst, ich zuerst gefunden und arbeitete mit "IoC" Frameworks (lange vor dem Frühling) genau, weil ich nach einem Rahmen und Organisationsprinzipien für Desktop-Anwendungsentwicklung suchte.

-Update auf RCP

Ich sehe einige Leute empfehlen Eclipse RCP oder Netbeans. Ich habe ziemlich viel Eclipse RCP-Entwicklung gemacht und für bestimmte Klassen von Anwendungen ist es großartig. Allerdings ist die Lernkurve sehr steil und das Feature-Set kann viel mehr als Sie brauchen. Berücksichtigen Sie dies bei jedem Framework, das Sie untersuchen.

+0

Ich habe Eclipse in der fernen Vergangenheit als eine IDE verwendet und habe in letzter Zeit Netbeans verwendet, wo ich den Spring AF in erster Linie gefunden habe. – eaolson

3

Für eine GUI-Bibliothek würde ich in Richtung SWT neigen. Eclipse verwaltet es und verwendet es für seine IDE. Ich glaube, Azureus hat es auch benutzt. Sieht auf mehreren Plattformen gut aus und ist sehr einfach zu benutzen.

+0

SWT ist kein GUI-Framework, es ist ein Widget Toolkit. Außerdem ist es eine komplette Alternative zu Swing. Ich glaube, 'eoolson' sucht nach einem Desktop-Äquivalent von Web-Frameworks wie Struts, Wicket usw. Wenn er SWT verwendet, sollte er Eclipse RCP in Erwägung ziehen, was ein vollständiges Framework ist. – jaaronfarr

0

Sie könnten auch die Java-Bindings von Qt verwenden. Qt ist ein plattformübergreifendes C++ - Framework, das meiner Meinung nach eines der am besten lesbaren Objektmodelle für das GUI-Design ist.

Werfen Sie einen Blick auf die Trolltech (Nokia) Qt website.

Sie können eine demo (die auch Quellcode enthält) mithilfe der Java Web Start-Funktion anzeigen. Es gibt einen guten Eindruck darüber, was gemacht werden kann und was nicht, und wie der Quellcode aussieht.

+0

Beide Links in Antwort sind tot. – Pang

Verwandte Themen