| 

.NET C# Java Javascript Exception

Groovy, SwingBuilder und die Zukunft von Swing

Dies ist das Archiv des ehemaligen Forums zum Thema Groovy, Grails, Griffon und Bean Scripting Framework, welches unter groovy-forum.de existierte. Die neue Adresse des Groovy-Forums ist: http://codekicker.de/fragen/themen/groovy.


Groovy, SwingBuilder und die Zukunft von Swing

rawi - 26.11.2008 16:35
Hallo allerseits,

es ist mir klar, als Anfänger sollte ich mich zuerst eher um die Basics der (Groovy)Programmierung kümmern...

Jedoch habe ich heute zwei Blogs entdeckt, die das Ende der Swing-Technologie in Java kommentieren:

- [www.greggbolinger.com]
- [weblogs.java.net]

Was meint Ihr?

Worauf sollte man sich jetzt (für GUI-Programmierung) konzentrieren, damit man seine Lern-Energie nicht in eine Sackgasse investiert?

Laut Blogs, wird JavaFX stark vorangetrieben. Ist JavaFX aus Groovy nutzbar?
Oder (flüsternd) sollte man sich eher auf JavaFX für Applications-GUIs konzentrieren?

Schöne Grüße
Rawi


Re: Groovy, SwingBuilder und die Zukunft von Swing

christian - 26.11.2008 18:39
rawi schrieb:
-------------------------------------------------------
> So wie ich bisher aus der Literatur verstehe, wird
> javaFX eher für FrontEnds benutzt, die dann bei
> größeren Vorhaben auf Java-BackEnds aufsetzen
> sollen.

Im Prinzip ist JavaFX nur eine andere Art Java Applets zu schreiben. Und Applets können natürlich auf auf Server zugreifen.

Je länger ich darüber nachdenke, desto zweifelhafter finde ich den Abgesang auf Swing, den man in manchen Blogs lesen kann. Sun schreibt zum Verhältnis von JavaFX zu Swing:

Zitat
Sun Microsystems
How do Java SE and Swing fit in with JavaFX technology?

The JavaFX family of products is based on Java technology.

The primary component of JavaFX technology is JavaFX Script, a declarative language, which is easy to use for interface programmers or visual designers who are familiar with scripting languages. In JavaFX Script, the structure of the programming code closely matches the actual layout of the GUI, making it easier to understand and maintain.

Sun is not replacing Swing with JavaFX Script. Instead, JavaFX Script makes Swing easier to use. Swing remains one of the best GUI development toolkits of its kind for creating standard GUI components, buttons, listboxes, trees, and tables. Together with Java 2D, Swing makes it easy to customize existing components or to create new custom components to achieve virtually any desired visual effect.

>> Und wer weiß, vielleicht
> > gibt es auch irgendwann Builder für JavaFX in
> > Groovy, falls das sinnvoll sein sollte.
>
> Hmmm, _irgendwann_? .._sinvoll_?

Irgendwann, weil sie natürlich erstmal jemand entwickeln muss; bisher habe ich jedenfalls noch nicht gehört, dass schon jemand daran arbeiten würde. Ob es sinnvoll ist, ist deshalb fraglich, weil es ja schon JavaFX Script gibt, das genau auf die Gestaltung grafischer Oberflächen zugeschnitten ist. Ich weiß nicht, ob man da dann noch mit Groovy-Buildern so viel vereinfachen kann.

> Wo bleibt Groovy? Genau so als BackEnd wie Java?

Im Prinzip schon, obwohl ich mir noch nicht so richtig vorstellen kann, wie das Konzept von JavaFX in eine klassische Desktop-Anwendung passt.

Gruß
Christian


Re: Groovy, SwingBuilder und die Zukunft von Swing

christian - 26.11.2008 21:18
Swing war früher langsam, das stimmt. Aber mittlerweile gibt es bei Benchmarks keinen klaren Sieger mehr. Die Legende, dass plattformabhängiger Code immer schneller wäre, hält sich aber hartnäckig. Zum Thema Rendering: in neuen Java-Versionen verwendet Swing für das Rendering zumindest unter Windows Funktionen des Betriebssystems, so dass die Optik sich nicht mehr von nativen Windows-Anwendungen unterscheidet (je nach eingestelltem Theme natürlich).

Aus meiner Sicht ist SWT heute eigentlich überflüssig.

Gruß
Christian


Re: Groovy, SwingBuilder und die Zukunft von Swing

rawi - 26.11.2008 22:50
christian schrieb:
------------------------------
> Im Prinzip ist JavaFX nur eine andere Art Java
> Applets zu schreiben.
> [..] Sun schreibt
> zum Verhältnis von JavaFX zu Swing:
>
> <cite>
> Sun is not replacing Swing with JavaFX Script.
> Instead, JavaFX Script makes Swing easier to use.
> Swing remains one of the best GUI development
> toolkits of it kind for creating standard GUI
> components, buttons, listboxes, trees, and tables.
> </cite>

Die Frage ist nur, welche Aussage älter ist?
.
> [...] Builder für JavaFX [...]
> [...]
> Ob es sinnvoll ist, ist deshalb fraglich,
> weil es ja schon JavaFX Script gibt, das genau auf
> die Gestaltung grafischer Oberflächen
> zugeschnitten ist. Ich weiß nicht, ob man da dann
> noch mit Groovy-Buildern so viel vereinfachen
> kann.

Ich habe mir heute die Seite javafx.com angeschaut (von Ubuntu + Firefox 3). Sie war unerträglich langsam auf einem Ubuntu 7.10
auf älterem Intel 3 GHz und annehmbar schnell auf Ubuntu 8.04 auf Intel 2Core 2.5GHz (?!).

Auf beiden Systemen scheiterte die perfekte Darstellung an einem PlugIn für QuickTime (!?) Dateien.

> [...] obwohl ich mir noch nicht so
> richtig vorstellen kann, wie das Konzept von
> JavaFX in eine klassische Desktop-Anwendung passt.

Also, die Frage bleibt.....
Womit würde man GUIs mit Groovy in der Zukunft basteln?

Bezüglich der BackEnd Bedeutung:
Ob Groovy nur als Grails-Sprache auf BackEnd bleibt?
Jetzt, wo Grails von SpringSource gekauft? wurde, weiss ich nicht, woher die Impulse für lokale GUI-Oberflächen (mit wunderbarer Netzanbindung) mit Groovy alleine her kommen sollen?

Schöne Grüße
Rawi


Re: Groovy, SwingBuilder und die Zukunft von Swing

christian - 27.11.2008 10:54
Wenn dich das Thema mehr interessiert, dann besorg dir mal das aktuelle Javamagazin. Da habe ich auch gerade noch mal zu dem Thema gelesen. Da steht z. B. "Laut Sun Microsystems stellt JavaFX die zukünftige Präsentationsschicht innerhalb des Java-Ökosystems dar." Außerdem gibt es in JavaFX einen Swing-Wrapper und die Möglichkeit in JavaFX-Script-Programmen auf normale Java-Klassen zuzugreifen. Bei MVC wären also M und C in Java und V in JavaFX-Script.

Allerdings hakt es bei der Anbindung klassischer Java-Klassen mittels Binding noch, weil Änderungen am Modell nur an die Darstellung weitergereicht werden, wenn das Modell in JavaFX selbst existiert.

Ich denke nicht, dass Swing so schnell sterben wird. Vielleicht wird das Verhältnis von JavaFX zu Swing so wie von JSF zu Servlets. Swing bleibt die technische Grundlage, die nicht zuletzt aufgrund der erreichten Reife nicht mehr so stark weiterentwickelt wird und JavaFX wird auf dieser Grundlage neue Dinge einführen. Der Vorteil von JavaFX ist, dass man damit einfacher zu einer grafischen Oberfläche kommt als mit dem doch manchmal etwas umständlichen Java-Code für Swing.

Fazit: Wenn du auf Swing setzt, wirst du vermutlich nichts falsch machen und mit Groovy-Buildern ist es ja auch ähnlich komfortabel wie mit JavaFX Script. Java FX erscheint mir auch noch nicht so ganz ausgereift . Für die Ewigkeit ist in unserer Branche sowieso wenig ...

Gruß
Christian


Stelle deine Groovy-Frage jetzt!


Diese Seite zeigt den Thread "Groovy, SwingBuilder und die Zukunft von Swing" der ehemaligen Webseite groovy-forum.de, welche durch einen Serverunfall zerstört wurde. codekicker.de hat viele Konversationen über die beliebte Programmiersprache Groovy und zugehörige Frameworks wie das Grails-Framework retten können.

Hast Du eine Frage zum Thema Groovy, Grails oder allgemein Java? Viele ehemalige groovy-forum.de Mitglieder beantworten dir auf codekicker.de deine Frage! Stelle jetzt eine Frage!

Viele weitere Diskussionen zu Grails und Groovy befinden sich auf der Threadübersicht des alten groovy-forum.de.