Zukunft der GUI-Entwicklung in Java?
Wenn man bedenkt, dass
- Sun/Oracle entschieden, sich nicht entwickeln Swing, nach der Sie "erfunden" JavaFX
- JavaFX funktioniert nicht wirklich und einige halten es für einen Fehler schon
- die nicht wirklich Plattform-unabhängige Natur der SWT, die manuelle Aufgabe zu entsorgen GUI-Elemente und die Notwendigkeit zu bündeln und Plattform-spezifische Bibliotheken
gibt es einen anderen Weg?
Wenn ich tun möchte, GUI-Entwicklung auf der JVM
- mit einem guten API (Swing und SWT sind nicht schlecht, aber Sie sind nicht wirklich gut.)
- die "fühlt" sich reaktionsschnell Weg (noch heute ein problem mit Swing und SWT, trotz der Ansprüche, dass dieses Problem nicht gelöst wird.)
- die nicht veraltet sein in ein paar Jahren
welche Entscheidung soll ich machen?
Gibt es noch eine Dritte option zur Verfügung oder die Möglichkeit, es könnte in der Zukunft eine?
Option
- das ist schnell und reaktionsschnell (Keine Swing-Ideologie ", Wenn es nicht schnell, es ist der Entwickler Schuld")
- mit nativem look and feel
- mit einer einzigen Bibliothek, die auf allen Plattformen läuft
Ist das realistisch?
Dank!
=========
Zu klären: Wenn ich starten Sie ein neues software-Projekt auf der JVM, es gibt einige bestehende Optionen, wie die Verwendung von SWT oder Swing über Swing mit third-party-Bibliotheken wie SwingX, JIDE, JGoodies, Flamingo oder mit Applikations-frameworks wie Netbeans Platform und Eclipse RCP. Gibt es eine unterstützte/empfohlene Weg, schwächt die Schmerzen in der Regel verbunden mit der Java-GUI-Entwicklung?
InformationsquelleAutor der Frage |
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werden Sie nicht finden, eine Objektive Antwort auf diese Frage, die nur persönliche Einstellungen und Optionen.
SWT
Meine persönliche Präferenz ist SWT. Ich begann, es zu benutzen, wenn Swing war zu schlecht, um eine option sein. SWT ist "nur" eine Schicht auf der Oberseite des nativen windowing-APIs und somit Anwendungen, die mit SWT Gefühl, nativ Bewerbungen geschrieben. Diese können auch verschraubt werden. Keine API wird jemals sicher sein vor schlechter Entwickler. Die Leistung ist so schnell, wie es bekommen kann, in meiner Erfahrung. Wenn es nicht ist, es ist eine andere Art der Durchführung, wo es sein wird.
SWT API ist sehr low-level, die macht der Umsetzung grundlegende Dinge unerwartet mühsam, aber glücklicherweise sind die meisten typischen usecases können gelöst werden mit JFace, das verbessert die situation. Und wenn Sie die API verwenden, für eine Weile werden Sie sammeln Ihre eigene util-Klassen. Sie kann ziemlich schnell in der Umsetzung von SWT tools.
Da SWT gibt Ihnen nur die Grundlagen, die Sie benötigen, MigLayout und Nebel widgets, um zu überleben. Sie mögen Verglaste Listen.
Qt Jambi
Eigentlich würde ich gerne um eine weitere option neben dem SWT und Swing für Sie: Qt Jambi. Aber Nokia gab bis auf diese, und es ist "gepflegt von einer open-source-community". Also ich weiß nicht, was "nicht überholt in ein paar Jahren".
Trotzdem bin ich begeistert von dieser Laufenden Diskussion. Einige Leute geschrieben haben, die eine SWT-Implementierung mit Qt Jambi als "native" API. Sind Sie versuchen, herauszufinden, wie es beitragen. Mit Qt als option könnte aktivieren Ihre "single-Bibliothek, die auf allen Plattformen läuft" für die SWT einen Tag, obwohl ich würde nicht darauf verlassen, jederzeit bald.
Aber für mich ist Ihre Anforderung von "einer einzigen Bibliothek" ist nicht so ein großes Problem. Die Verwendung von maven für Ihr baut, fügen Sie ein paar Zeilen Konfiguration, und Sie werden vergessen, diese sehr bald.
Swing
Kann ich nicht wirklich vergleichen, SWT, Swing, da meine Erfahrung mit Swing ist limitted. Ich als Benutzer nicht wie die meisten Swing-Anwendungen, aber ich habe einige schöne diejenigen.
Heutzutage ist das native look and feel von Swing-apps ziemlich gut, aber du wirst nicht täuschen power-user. Auch die Leistung scheint wirklich gut zu sein in neue und gut gemacht Swing-apps, aber das ist wieder nur aus meiner limitted Sicht als Anwender.
Offensichtlich gibt es mehr 3rd-party-Erweiterungen für Swing als für SWT - führen Sie einfach eine Google-Suche. (Aber dann wieder, wenn du die Schmerzen ertragen zu lernen Eclipse RCP erhalten Sie eine riesige, interessante Infrastruktur. Das spricht nicht über widgets aber, dass die Sachen wie EMF oder RAP. Ich bin kein Eclipse RCP person - ich hatte nie genug Geduld für sowas...)
Einen wirklich großen Vorteil für die Schaukel, wenn Sie mag das Zeug, ist Matisse, dem GUI-builder von Netbeans. Qt hat auch gut getan, GUI-builder, die durch die Art und Weise.
Zusammenfassung
Wenn Sie planen, für die langfristige, ich sehe nicht mehr Optionen als SWT oder Swing für die GUI-Entwicklung in Java. Beide sind gut genug, um die meisten Bedürfnisse zu befriedigen, wenn Sie genug Zeit damit verbringen. Aber Sie sind nicht perfekt. Sie werden immer Neid auf Menschen mit anderen Sprachen für Ihre widgets, schnelle Implementierung, Werkzeuge, ... Wenn Sie nicht gebunden sind an Java, man könnte sogar lieber Flash oder Qt.
InformationsquelleAutor der Antwort the.duckman
Die Antwort ist lieber swingdenke ich.
Natürlich ist es eine ausgereifte Technologie (ein wenig alt), aber ich weiß sonst nichts. Es wird cobol von GUI-Entwicklung 🙂
InformationsquelleAutor der Antwort Istao