10 Stimmen

Welches Bibliothek ist besser für schnellere Java-Anwendungen, SWT oder Swing?

Welche Bibliothek ist besser für schnellere Java-Anwendungen: SWT oder Swing?

14voto

Vor einigen Jahren war Swing langsam, so dass SWT entwickelt wurde, um native API-Aufrufe auf Systemen zu ermöglichen. Allerdings hat sich die Leistung von Swing deutlich verbessert und dies ist nicht mehr der Fall. SWT ist nicht standardisiert, während Swing offiziell Teil der Java-Spezifikation ist. JavaFX wird auch auf Swing aufbauen. Wenn Sie also nicht Eclipse-Plugins schreiben müssen, würde ich Swing verwenden.

Um eine wirklich gute App, die in Swing entwickelt wurde, anzusehen, werfen Sie einen Blick auf Jetbrains Java IDE. Sie können es 30 Tage lang ausprobieren.

http://www.jetbrains.com/idea/

Natürlich ist auch Sun's Netbeans eine reine Swing-App und kostenlos.

http://www.netbeans.org/

9voto

Rastislav Komara Punkte 1711

Es gibt keine langsame Swing-Anwendung. Nur schlecht geschriebene. Und das gilt auch für SWT. Die meisten Anwendungen liefern bessere Antworten aufgrund der Eclipse-Kernarchitektur. Vor J6 gab es mehrere Probleme mit grauen Fenstern während unresponsiver Perioden, aber das ist weitgehend gelöst durch den vollständig doppelt gepufferten Ansatz in Swing-PLAFs. Es gibt kein besseres UI-Framework. Es gibt nur besser geschriebene Programme, die Multi-Threaded-Verarbeitung verwenden, um Unreagibilität des UI zu vermeiden. Persönlich bevorzuge ich Swing :)

8voto

Aaron Digulla Punkte 308693

Heute sind beide Frameworks schnell. Ich schlage vor, diese Kriterien zu überprüfen:

  1. SWT ist einfacher zu bedienen als Swing (vor allem, wenn dies Ihre erste Benutzeroberfläche ist)
  2. Swing ist älter und Sie finden mehr Komponenten
  3. Wenn Sie auch JFace verwenden, finden Sie viele leistungsstarke Widgets, die sofort einsatzbereit sind (wo Sie beim Swing viel zusätzliche Konfiguration benötigen würden).
  4. Swing ist überall verfügbar, SWT nicht
  5. SWT wird aktiv weiterentwickelt, Sie haben den Quellcode und Fehler werden schnell behoben. Swing wurde jahrelang nicht mehr aktualisiert, dann gab es plötzlich ein großes Update für Java 6. Wenn Sie ein Problem mit Swing haben, nun ja, Sun kümmert sich wahrscheinlich nicht darum.
  6. Wenn Sie sich für Swing entscheiden, verwenden Sie ein Framework wie SwingX. Das wird Ihr Leben viel einfacher machen.

4voto

Tom Hawtin - tackline Punkte 142461

Laut Wikipedia gibt es keinen klaren Gewinner (obwohl Sie das bearbeiten können, wenn Sie möchten). Sie können unweigerlich Benchmarks schreiben, die entweder viel schneller als die andere zeigen. Swing hat mehr Freiheit zur Optimierung auf der Java-Seite der Dinge. SWT kann mehr Optimierungen innerhalb des Fenstersystems zulassen.

Der wahrscheinlich größere Einfluss auf die Leistung wird davon abhängen, wie sich Ihre Anwendung verhält. Konzentrieren Sie sich darauf, Ihren Code sauber zu halten (und machen Sie bei Bedarf ein wenig Profiling).

1voto

madlep Punkte 43822

"schneller" ist subjektiv. Beide können schnell laufen, aber es ist einfacher, etwas Dummes mit Swing zu tun und sich selbst ins Bein zu schießen und es langsam fühlen zu lassen."

Nichtsdestotrotz finde ich Swing auf Code-Ebene einfacher zu handhaben als SWT.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X