Lieber ein Ende mit Schrecken als ein Schrecken ohne Ende?

Ruhe in Frieden, JavaFX?

Michael Thomas

© Shutterstock/pimpic

Der ehemaligen Sun-Mitarbeiter und Codename-One-Gründer Shai Almog führt eine Bestandsaufnahme von JavaFX durch und diskutiert die Frage, welche Zukunft die Technologie hat – mit wenig erfreulichem Ergebnis.

Nicht nur den Umstand, dass es um die UI-Technologie in den letzten Monaten etwas ruhiger geworden ist, nimmt Shai Almog zum Anlass, eine Standortbestimmung des Frameworks vorzunehmen. Auch Oracles Handlungsmöglichkeiten, die Stellung von JavaFX im Ökosystem zu verbessern, sind Motivation und Inhalt seiner Ausführungen. Zentral steht zudem die Frage im Raum, ob und wie JavaFX weiterentwickelt werden kann.

Aktuell, so Almog, fallen die Nutzer von JavaFX unter eine von drei Kategorien: Unternehmen mit großen Investitionen in Swing, Studenten und eingefleischte Fans. Das Problem an dieser Konstellation besteht Almogs Ansicht nach darin, dass sich auf diesem Fundament nur schwerlich eine lebhafte Community aufbauen lässt, da Unternehmen nichts neues beisteuern, Studenten sich nach ihrem Abschluss vermutlich nach anderen Technologien umsehen und die Hardcore-Verfechter schließlich potentiell mit leeren Händen dastehen, sollte die Plattform weiter an Bedeutung verlieren.

Wo steht JavaFX?

Für die aus seiner Sicht mangelnde Zugkraft von JavaFX macht Almog insbesondere drei Gründe verantwortlich.

Erstens nutzt Oracle selbst JavaFX nicht bzw. nicht in ausreichendem Maße: Selbst Swing-basierte Produkte bewegen sich nicht in Richtung JavaFX. Zudem wird der Scene Builder bereits seit geraumer Zeit nicht mehr von Oracle selbst vertrieben – für Almog ein Wink mit dem Zaunpfahl.

Zweitens hat JavaFX Almog zufolge nie den selben Einfluss wie Swing gewonnen, was er am Beispiel von Stack Overflow illustriert: Die Plattform ging nur rund anderthalb Monate vor Veröffentlichung von JavaFX an den Start, zu einem Zeitpunkt, an dem sich Swing auf dem absteigenden Ast hätte befinden müssen. Aus diesem Grund, so Almog, sollten in dem Forum deutlich weniger Fragen zu Swing als zu JavaFX zu finden sein. Doch das Gegenteil ist der Fall: Zu dem Stichwort JavaFX existieren 11.565 Fragen, zu Swing hingegen ganze 56.434. Auch der mit Version 2.0 erfolgte Verzicht auf JavaFX Script zugunsten einer Portierung der bestehenden APIs auf Java konnte wider Erwarten keine Fragenlawine lostreten – für Almog ein Zeichen, dass die Hauptzielgruppe von JavaFX – die Swing-Entwickler – nicht auf Technologie umgestiegen sind.

Lesen Sie auch: 20 JavaFX-Anwendungen aus der Praxis: So schön kann ein Java UI sein!

Auch ein Vergleich via Google Trends zeigt, dass JavaFX bei einem gleichzeitigen Bedeutungsrückgang von Swing kein Wachstum verzeichnen konnte, vielmehr konkurrieren beide auf einem niedrigen Niveau miteinander. Selbst das vielerorts verhasste Adobe Flash liegt trotz eines kontinuierlichen Abstiegs immer noch weit vor Swing und JavaFX.

Drittens sieht auch der Jobmarkt düster aus. Almog durchsuchte die Karriereseite dice.com – mit 3 Millionen registrierten Mitgliedern und durchschnittlich 80.000 offenen Stellen als durchaus repräsentativ zu bezeichnen – und fand gerade einmal 28 Stellen, die JavaFX-Kenntnisse verlangten. Für Swing existierten 198 Stellenangebote, für Android 2.333 und für Java EE gar 16.752.

Quo vadis, JavaFX?

Eine durchaus ernüchternde Bestandsaufnahme. Insbesondere deshalb, weil JavaFX Almogs Ansicht nach eine wichtige Funktion erfüllt: Die Desktop-Programmierung betrachtet er als wichtigen Faktor für die Gesundheit des gesamten Java-Ökosystems, da der Skill-Transfer bzw. die Tool-Portabilität zwischen Mobile, Desktop und Backend eine der größten Vorteile von Java war. Zudem sieht er in APIs für die Desktop-Entwicklung eine deutlich bessere Lernhilfe für Neulinge, als es das Deployment von Webservices je sein könnte. Eine vernünftige UI-Option betrachtet Almog deshalb als unumgänglich für die nachfolgenden Generationen von Java-Entwicklern.

Doch mittlerweile, so Almog weiter, befindet Java sich von allen Seiten unter Beschuss: Auf der Serverseite z. B. durch NodeJS/Ruby, auf Mobile-Seite durch iOS und von HTML und JavaScript in den Bereichen Mobile und Desktop. Als Schreckgespenst – nicht nur dieser Entwicklung – zeichnet Almog gar den Verlust des lukrativen Java-EE-Marktes an die Wand.

Doch was kann man tun? Eines der größten Probleme sieht Almog darin, dass Oracle keine klaren Signale aussendet, wie es um sein Engagement für JavaFX bestellt ist. Theoretisch werden Oracle-Produkte zwar niemals ganz eingestellt. In der Praxis scheint jedoch genau dies bei Swing der Fall zu sein, so Almog.

Lesen Sie auch: JavaFX-Standortbestimmung: „Mit Swing gewinnt man heute bei neuen Projekten keine Blumentöpfe mehr“

Welche Optionen gibt es?

Im Grunde sieht Almog nur zwei Wege aus der Bredouille. Den ersten hat Google mit Android vorgemacht: Ursprünglich ein Flop, brachte Google viel Geld, Zeit und Durchhaltewillen auf, um die Technologie doch noch zum Erfolg zu führen. Den Gedanken, dass Oracle das gleiche tun könnte, sich also zu 100 % hinter JavaFX stellt, dessen Schwächen ausbügelt und die Technologie in die Zukunft führt, schätzt Almog jedoch als unrealistisch ein.

Aus diesem Grund ist der zweite, schmerzliche, Ausweg sein Favorit: Akzeptieren, dass JavaFX nie der große Durchbruch gelingen wird. JavaFX würde Almogs Ansicht nach in der Folge zwar nicht komplett verschwinden, aber mit der Zeit zu einem halb vergessenen Relikt werden. Der positive Effekt dieses Schritts wäre, so Almog, dass die somit gerissene Technologie-Lücke deutlich zu Tage treten würde. Eine Lücke, die mithilfe freigewordener Energien und durch andere Technologien geschlossen werden könnte.

Keine Alternative in Sicht

Ein ernstzunehmender Ersatzkandidat für den Desktop-Bereich ist seiner Ansicht nach derweil allerdings nicht in Sicht: SWT ist zwar ausgereift, aber mit dem zunehmenden Fokus auf Mobile und Macs problematisch. Eine Rückkehr zu Swing aufgrund der verstrichenen Zeit keine Option. QT tritt auf der Stelle und die Codebasis ist größtenteils in C++ geschrieben. HTML5 ist für JavaScript prädestiniert. Die Verwendung von DukeScript, TeaVM und GWT könnte Java zu einer Art CoffeeScript-Ersatz degradieren. Android ist zwar eine leistungsstarke Lösung, seine Herkunft aus dem Mobile-Bereich erfordert bei einer Portierung jedoch nicht unerheblichen Aufwand.

Lesen Sie auch: Wo steht JavaFX im Vergleich zu anderen UI-Toolkits: Swing, HTML5, SWT?

Nichtsdestotrotz ist Almogs Fazit, dass es im Grunde das beste wäre, JavaFX in Frieden ruhen zu lassen. Es sei denn, Oracle würde sich besinnen und der Technologie die erforderliche Aufmerksamkeit zukommen lassen – die Hoffnung stirbt bekanntermaßen zuletzt.

Aufmacherbild: sunset beach under warm light von Shutterstock / Urheberrecht: pimpic

Verwandte Themen:

Geschrieben von
Michael Thomas
Michael Thomas
Michael Thomas studierte Erziehungswissenschaft an der Johannes Gutenberg-Universität Mainz und arbeitet seit 2013 als Freelance-Autor bei JAXenter.de. Kontakt: mthomas[at]sandsmedia.com
Kommentare
  1. Andreas Fester2015-11-26 12:06:37

    Zum Argument bezüglich der Anzahl der Fragen auf Stackoverflow: Ich finde es problematisch, die absolute Anzahl der Fragen zu vergleichen, da Swing eine erheblich längere Historie als JavaFX aufweist. Vergleicht man einmal die Fragen pro Tags über die letzten Jahre, sieht man deutlich dass sich JavaFX und Swing schon sehr angenährt haben: http://data.stackexchange.com/stackoverflow/revision/399172/511735/question-per-tag-javafx-swing-over-time#graph Eine JavaFX Fragenlawine ist da zwar auch nicht zu erkennen, aber es relativiert doch die im Text genannten Zahlen (Faktor 5) ziemlich.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.