2008-09-09 10 views
17

Ich arbeite am Entwerfen und Erstellen einer Desktop-Anwendung. Ich denke über die Verwendung von Eclipse oder Netbeans für die Basis dieser Anwendung. Ich habe jedoch nie auf einer dieser Plattformen gebaut. Ich persönlich bevorzuge die Verwendung von Netbeans, weil es so aussieht, als wäre die Plattform eine leichtere Lernkurve. Aber ich wollte Leute fragen, die tatsächlich auf diesen Plattformen aufbauen, bevor man sie einfacher benutzen kann?Java Desktop-Anwendungsframework

Meine persönliche Definition von einleuchtender ist wie folgt:

  • Einfach mit

  • Konsistente und logische API

  • Gute Dokumentation

  • einfach, um loszulegen zu bauen und Bereitstellen

Vielen Dank,

Josh

Antwort

6

Ich kann nicht genug über die Eclipse RCP-Plattform sagen. Ich würde es für jede Java Desktop App Entwicklung empfehlen.

Es ist kostenlos, hat große Tutorials und ermöglicht plattformübergreifende Entwicklung von Rich-Desktop-Anwendungen, die native OS Windowing Toolkit verwenden, was bedeutet, dass Ihre Anwendung in jeder Plattform nativen aussehen wird. Es hat auch eine saubere API, die nicht im Weg ist und macht die Bereitstellung auf jeder Plattform ein Stück Kuchen.

Wenn Ihr Interesse dieses Buch finden Sie unter: http://www.amazon.com/Eclipse-Rich-Client-Platform-Applications/dp/0321334612

1

ich Eclipse-haben als Rahmen Basis verwendet, aber es wurde meist nur SWT-- nutzen wir nicht wirklich viel von der RCP benutzt haben.

Es hängt wirklich davon ab, was Sie schreiben, aber von dem, was ich von Eclipse gelernt habe, ist es wirklich nur zum Schreiben einer App geeignet, die das Bearbeiten von Daten mit verschiedenen Ansichten beinhaltet (genauso wie Code bearbeiten).

Irgendetwas mehr als das kann dazu führen, dass Sie anfangen, das Framework in eine Richtung zu schieben, die es nicht entworfen hat und massiven Fehlschlag verursacht.

1

Sie verwenden Swing, um Ihre Anwendung zu entwickeln, da jedes andere Fensterrahmenwerk nur dann nützlich ist, wenn Sie über Vorkenntnisse oder den entsprechenden Hintergrund verfügen.

Sie können sich auf http://www.javadocking.com/ verlassen, um Ihre Anwendung zu rationalisieren.

Wenn Ihre Anwendungsanforderungen stark auf die Benutzeroberfläche ausgerichtet sind, können Sie möglicherweise in eine andere Richtung wie Adobe Air schauen.

2
  • Einfach zu verwenden: Ich habe Erfahrung auf Eclipse zu entwickeln, und ich muß sagen, dass es nicht einfach ist, sein Entwicklungsmodell zu verstehen. Sicherlich für grundlegende Sachen hat es einige Zauberer, die es einfacher machen, aber für etwas Komplexeres ist es einfach schwierig. Ich weiß nichts über Netbeans, aber ich habe es leichter gehört.
  • Konsistente API: Ich denke, Eclipse gewinnt in diesem Aspekt. Es läuft über OSGI (bringt aber etwas Komplexität mit sich) und hat Erweiterungen für fast alles. Es scheint die Plattform der Wahl für die Plugin-Entwicklung zu sein, also kann ich davon ausgehen, dass es zuverlässig ist.
  • Dokumentation: Eclipse gewinnt bei weitem. Die Hilfe von Eclipse ist hervorragend und die Mailingliste hat viele Fragen.
1

RCP hat eine größere Lernkurve, aber wenn Sie die Grundlagen der Eclipse-IDE lernen sich sehr gut unterstützt RCP-Anwendungen zu bauen. Ich habe nur ein Plugin für NetBeans gebaut (nicht eine vollwertige Anwendung erstellen), und die Lernkurve war geringer als für die RCP-Anwendung. Das Buch Eclipse Rich Client Platform: Designing, Coding, and Packaging Java(TM) Applications bietet eine detaillierte Einführung in die Erstellung von RCP-Anwendungen.

1

Ich habe eine wenig Arbeit mit beiden getan, aber nur auf relativ einfache Anwendungen. Beide scheinen ungefähr die gleichen Fähigkeiten zu haben. Ich persönlich bevorzuge die Netbeans-Plattform, da es für mich mehr Sinn macht.

Sie sollten auch JSR-296, Swing Application Framework betrachten. Es bietet einen grundlegenden Rahmen für die Erstellung von Swing-Anwendungen, Verwaltung von Anwendungsressourcen, Status usw., jedoch ohne so viel "Gepäck" wie Netbeans und Eclipse. Netbeans IDE verfügt über eine Reihe von Tools zum Erstellen von Anwendungen auf dem SAF. Weitere Informationen finden Sie unter .

Ohne mehr über Ihre Anwendung zu wissen, ist es schwer, sie an den entsprechenden Stärken/Schwächen der beiden Plattformen zu verweisen.

1

Ich habe eine ähnliche Aufgabe und ich denke auch über verschiedene Frameworks. Ich habe etwas Erfahrung mit Eclipse (~ 4 Monate, die RCP entwickeln) und jetzt Netbeans (gespielt für ein paar Tage). IMHO diese Rahmenbedingungen sind zu kompliziert. Sie enden nur mit dem Debuggen in Eclipse-spezifischen Plugin-Loadern, um herauszufinden, warum Sie eine ClassNotFoundException oder einen NullPointer bekommen. Die gleiche Geschichte mit NetBeans: irgendwie liest irgendwo etwas xml-config-Dateien aus und erstellt daraus UI, cool, solange man dem Tutorial folgt. Und natürlich können Sie nicht entwickeln und Eclipse-basierte RCP mit einer anderen IDE, NB ist auch sehr eifersüchtig über seine Verwendung (es sei denn, Sie machen einige Hacks wie ich). Was mir fehlt, ist eine klare Möglichkeit, meine Threads von Main zu Action zu debuggen. Stattdessen wird mir immer gesagt, was ich tun muss, um Ausnahmen zu vermeiden. Und so muss ich jedes Mal die Daumen drücken, wenn ich versuche, etwas Neues zu machen. Und es klappt beim ersten Mal nie. Jetzt habe ich über die Funktionen nachgedacht, die ich brauche, und ich habe nach kleineren Projekten Ausschau gehalten, die auf bestimmte Funktionen wie Plugin-Verwaltung abzielen, z. Und es gibt viele. Erstellen Sie einfach eine Liste der benötigten Funktionen und fügen Sie kleinere Frameworks hinzu, indem Sie sie in Ihr Projekt integrieren. Dies macht auch Sinn, da Ihr Projekt am Ende weniger RAM verbrauchen sollte.

0

würde ich Eclipse RCP verwenden, wenn Sie wirklich eine Plattform müssen auf gebaut, nicht nur „widgetery“ wie Swing oder SWT. RCP ist felsenfest und konsistent, modular und sehr flexibel. Sobald Sie es beherrschen, erhalten Sie enorme Vorteile. Als eine Plattform gibt es Ihnen die am häufigsten verwendeten Dinge - Präferenzen, Konfigurationen, automatische Updates, Layout-Management, Branding und ähnliches. Sie erstellen ein Produkt, keine App. Aber die Lernkurve ist am Anfang ziemlich steil.

Schaukel auf der anderen Seite ist keine Plattform, werden Sie das Rad durch Schreiben Sie Ihre eigenen Sachen, die ich oben erwähnt neu erfinden. Aber ja, Swing ist schneller zu lernen und zu beginnen.Ich denke, es passt besser für kleinere Anwendungen mit kürzerer Lebensdauer.

1

Wenn Sie wirklich die plattformübergreifende Wartung vermeiden möchten, dann arbeiten Sie mit Swing. Das kauft euch alle Plattformen. RCP erfordert native Bibliotheken für jede Plattform.

Wir haben gute Erfahrungen mit Swing gemacht.

0

Schauen Sie sich einige der Open-Source-Anwendungen unter http://www.eclipse.org/community/rcp.php an, bevor Sie öffnen, dass RCP nur zum Erstellen eines Zeugs dient.

+0

Beachten Sie, dass [Link-Only-Antworten] (http://meta.stackoverflow.com/tags/link-only-answers/info) nicht empfohlen werden. SO-Antworten sollten der Endpunkt einer Suche nach einer Lösung sein (vs. noch ein Zwischenstopp von Referenzen, die im Laufe der Zeit abgestanden werden). Bitte beachten Sie, dass Sie hier eine eigenständige Zusammenfassung hinzufügen und den Link als Referenz beibehalten. – kleopatra