ich wollte den anderen Beitrag nicht mit einer Diskussion über JavaFX zuspammen, daher separiere ich das mal hier:
Wie kommst du zu dieser Einschätzung ?
Ja, es stimmt das es ein paar Projekte auf GitHub gibt die nicht mehr gepflegt werden, wie z.B. mvvmfx oder tornadofx. Aber das waren Projekte von Einzelpersonen, die mit der Technologie JavaFX nichts zu tun hatten. Dem gegenüber stehen andere Bibliotheken wie ControlsFX, FlexGanttFx oder FXGL, die weiterhin aktiv gepflegt werden.
Und ja, es stimmt, das JavaFX aus dem JDK entfernt wurde und in einem separaten Entwicklungsstack läuft. Aber auch andere Projekte die man fast bei jeder Anwendung benötigt sind nicht teil des JDK sondern müssen extern eingepflegt werden. Nur weil es nicht teil des JDK ist ist es nicht schlecht.
Kaum jemand nutzt java.util.logging, obwohl es im JDK ist. Stattdessen wird auf das externe SLF4J zugegriffen.
Obwohl kaum eine SQL Anwendung ohne Hibernate auskommt ist es nicht teil des JDK. Deswegen ist es aber noch lange nicht schlecht.
JavaFX wird weiter entwickelt und gepflegt, in den gleichen Zyklen wie Java selbst. Erst dieses Jahr hat Oracle JavaFX wieder in den kommerziellen Support mit aufgenommen, ein starkes Statement pro JavaFX. Es gibt eine große Community und mit JFXCentral eine Anlaufstation für alles rund um JavaFX. Swing und AWT dagegen sind im Maintenance Mode, da gibt es keinerlei Entwicklung mehr.
Ich vergleiche es jetzt nur mit AWT und Swing, da ich mit anderen UI-Technologien keine Erfahrung habe. Hier ist JavaFX die meiner Meinung nach deutlich modernere, leichter zu nutzende Technologie mit deutlich mehr Features.
Ich sehe das ganze pragmatisch. Es macht keinen Sinn gewachsene Projekte auf JavaFX umzustellen. Der Nutzen steht in den meisten Fällen in keinem Verhältnis zum Aufwand (wobei einer der untenstehenden Links diesem widerspricht). Daher ist und bleibt AWT und Swing wahrscheinlich in alle Ewigkeit teil des SDK.
Aber wenn ich jetzt heute ein neues Projekt beginne und die Wahl habe zwischen AWT, Swing und JavaFX, dann gibt es für mich überhaupt keinen Grund nicht auf JavaFX zu setzen.
Ein paar Quellen zu großen Projekten die JavaFX nutzen, mit kurzen Interviews der Entwickler.
dlemmermann.wordpress.com
dlemmermann.wordpress.com
dlemmermann.wordpress.com
dlemmermann.wordpress.com
dlemmermann.wordpress.com
Ich denke das Hauptproblem was JavaFX immer noch bei (älteren) Entwicklern hat ist sein schlechter Ruf, den es sich durch seinen katastrophalen Start anno damals zu recht verdient hatte. Die Versionen 1+2 mit integriertem JavaScript waren eine absolute Katastrophe. Hab ich mir damals kurz angeschaut und weiter mit Swing gebastelt. Erst mit Version 8 wurde es brauchbar.
Ich weiß es gibt hier auch ein paar User die Java generell die Eignung für Fontend absprechen. Darum geht es hier aber nicht. Java+Frontend ist in diesem Topic gesetzt, wer darüber diskutieren möchte den bitte ich ein eigenes Topic aufzumachen.
JavaFX oder Swing: Ich sehe hier viel pro/contra. JavaFX ist das modernere, aber das sehe ich als tot an. Libraries, die es da gibt, werden teilweise nicht weiter entwickelt. Und so toll es ist: Die Entwicklung stoppte einfach zu früh. (Ich hatte mir mal überlegt, was man da bauen kann, um es wirklich nutzbar zu machen: Binding System überarbeiten, eine Art Komponenten-basierte Lösung, MVVM mit generiertem VM, ...
Aber es ist aus meiner Sicht einfach tot und so eine Entwicklung macht wenig bis keinen Sinn.
Daher wäre mein Tipp: Swing nutzen. Schau dabei aber darauf, was vorhandene Projekte nutzen (Bei JavaFX sehe ich da nicht wirklich was. Aber JetBrains nutzt auch Swing und man könnte da auch schauen, was sie da an Libraries nutzen, um damit so eine IDE zu bauen.)
Wie kommst du zu dieser Einschätzung ?
Ja, es stimmt das es ein paar Projekte auf GitHub gibt die nicht mehr gepflegt werden, wie z.B. mvvmfx oder tornadofx. Aber das waren Projekte von Einzelpersonen, die mit der Technologie JavaFX nichts zu tun hatten. Dem gegenüber stehen andere Bibliotheken wie ControlsFX, FlexGanttFx oder FXGL, die weiterhin aktiv gepflegt werden.
Und ja, es stimmt, das JavaFX aus dem JDK entfernt wurde und in einem separaten Entwicklungsstack läuft. Aber auch andere Projekte die man fast bei jeder Anwendung benötigt sind nicht teil des JDK sondern müssen extern eingepflegt werden. Nur weil es nicht teil des JDK ist ist es nicht schlecht.
Kaum jemand nutzt java.util.logging, obwohl es im JDK ist. Stattdessen wird auf das externe SLF4J zugegriffen.
Obwohl kaum eine SQL Anwendung ohne Hibernate auskommt ist es nicht teil des JDK. Deswegen ist es aber noch lange nicht schlecht.
JavaFX wird weiter entwickelt und gepflegt, in den gleichen Zyklen wie Java selbst. Erst dieses Jahr hat Oracle JavaFX wieder in den kommerziellen Support mit aufgenommen, ein starkes Statement pro JavaFX. Es gibt eine große Community und mit JFXCentral eine Anlaufstation für alles rund um JavaFX. Swing und AWT dagegen sind im Maintenance Mode, da gibt es keinerlei Entwicklung mehr.
Ich vergleiche es jetzt nur mit AWT und Swing, da ich mit anderen UI-Technologien keine Erfahrung habe. Hier ist JavaFX die meiner Meinung nach deutlich modernere, leichter zu nutzende Technologie mit deutlich mehr Features.
Ich sehe das ganze pragmatisch. Es macht keinen Sinn gewachsene Projekte auf JavaFX umzustellen. Der Nutzen steht in den meisten Fällen in keinem Verhältnis zum Aufwand (wobei einer der untenstehenden Links diesem widerspricht). Daher ist und bleibt AWT und Swing wahrscheinlich in alle Ewigkeit teil des SDK.
Aber wenn ich jetzt heute ein neues Projekt beginne und die Wahl habe zwischen AWT, Swing und JavaFX, dann gibt es für mich überhaupt keinen Grund nicht auf JavaFX zu setzen.
Ein paar Quellen zu großen Projekten die JavaFX nutzen, mit kurzen Interviews der Entwickler.
JavaFX Real-World Apps: Emirates Airlines Network Capacity Optimization
Emirate Airlines’ “Network Capacity Optimization” (NCO) is the subject of this fourth installment of the “Real World Apps” series. For reference here are the first thr…
JavaFX Real-World Apps: MINT TRMS
The second real-world JavaFX application that I was involved with was developed by MINT Software Systems, a company located in Kiel, Germany. The focus of their application is on training and resou…
JavaFX Real-World Apps: PSI Advanced Scheduling and Monitoring
I am happy to announce that there is a new entry for the “Real-World Apps” list. The company PSI has developed an application for “advanced scheduling and monitoring”. The s…
JavaFX Real-World Apps: AISO HRC-Matic
Application number three in the “Real-World JavaFX Apps” series is a heavy-duty data entry application backed up by a relational database called HRC-Matic. It is being developed by AISO…
JavaFX Real-World Apps: EIZO CuratOR Caliop
JavaFX Real-World application number four is called Caliop. It is the frontend of the CuratOR solution developed by EIZO for operating rooms in hospitals. The frontend runs on wall-mounted consoles…
Ich denke das Hauptproblem was JavaFX immer noch bei (älteren) Entwicklern hat ist sein schlechter Ruf, den es sich durch seinen katastrophalen Start anno damals zu recht verdient hatte. Die Versionen 1+2 mit integriertem JavaScript waren eine absolute Katastrophe. Hab ich mir damals kurz angeschaut und weiter mit Swing gebastelt. Erst mit Version 8 wurde es brauchbar.
Ich weiß es gibt hier auch ein paar User die Java generell die Eignung für Fontend absprechen. Darum geht es hier aber nicht. Java+Frontend ist in diesem Topic gesetzt, wer darüber diskutieren möchte den bitte ich ein eigenes Topic aufzumachen.