Suche
Interview mit Björn Müller

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

Hartmut Schlosser

Björn Müller

Eine Standortbestimmung für JavaFX wird Björn Müller (CaptainCasa GmbH) auf der kommenden W-JAX vornehmen. Im Countdown-Interview gibt er einen kleinen Vorgeschmack und erklärt, wo er momentan die Stärken und Schwächen der UI-Technologie sieht.

JAXenter: Nach dem Hype um JavaFX scheint es in den letzten Monaten etwas ruhiger um die UI-Technologie geworden zu sein. Siehst du das auch so?

Björn Müller: Na ja, einen Hype habe ich ehrlich gesagt noch nie so recht gespürt. Und das ist auch gut so: Hypes kenne ich aus der HTML-Welt, und da gibt es eher zu viele als zu wenige. Ein Hype hat die Tendenz, nach recht kurzer Zeit wieder „out“ zu sein… JavaFX ist ein langfristiger Bestandteil der Java-Technologie, diese Aussage und Aussicht genügt mir.

Auch Swing war nie ein Hype. Die meisten Swing-Anwendungen entstanden in Bereichen, die nicht so öffentlichkeitswirksam sind – interne Unternehmensanwendungen, Tools, etc. etc. Und genauso geht’s halt nun mit JavaFX – es entsteht Einiges, aber halt eher im „Dunklen“.

JAXenter: Wo positionierst Du JavaFX?

Björn Müller: „Viel UI bei vergleichsweise wenigen Usern“ – da macht JavaFX Sinn. Sachbearbeiter, Werker, Intranet-User, etc. „Vergleichsweise wenig UI bei Millionen von Usern“ – da auf keinen Fall JavaFX nehmen, sondern zu HTML greifen.

Eine weitere Argumentation: Welche Laufzeit hat eine Anwendung? Gerade die Unternehmensanwendungen (z.B. im Bereich Produktion, Logistik) haben Laufzeiten, die teilweise deutlich über 10 Jahre hinausgehen. Hier verspricht JavaFX eine deutlich größere Kontinuität und deswegen einen deutlich geringeren Wartungsaufwand als HTML-Ansätze.

JAXenter: Nun gibt es neben dem JavaFX-Kernteam ja auch viele Community-Aktivitäten. Kannst du da einige Beispiele nennen?

Björn Müller: Schaut Euch mal am besten die Seite http://www.fxexperience.com, da bekommt man schnell einen Überblick. Technologisch am interessantesten für JavaFX ist aus meiner Sicht wohl das Geschehen rund um die Portierung auf Android/iOS. Hier wünscht man sich, dass man eines Morgens aufwacht und die Portierung einfach da ist und funktioniert…

Beim Thema Community muss ich natürlich die CaptainCasa Community erwähnen: Wir haben ja unser Rich Client Framework komplett auf JavaFX umgestellt und sind insgesamt sehr zufrieden mit dem Ergebnis.

JAXenter: Zur Portierung auf Android/iOS – was meinst Du dazu?

Björn Müller: Eigentlich hätte ich mir gerade hier gewünscht, dass Oracle/Java selbst das Zepter schwingt. Communityarbeit geht aus meiner Sicht am besten auf Basis von Java – die Technologie unterhalb von Java ist doch den allermeisten ein Buch mit sieben Siegeln. Das Thema der Portierung schwebt schon solange im JavaFX-Nebel herum und kommt aus meiner Sicht in Richtung einer industrietauglichen Nutzung noch nicht so recht vom Fleck.

Wir beobachten das mit super-großem Interesse und drücken der Schar von Gluon alle Daumen – aber da liegt noch sehr viel Arbeit brach. Um die aktuellen Tablet/Phone-Bedürfnisse unserer Community-Mitglieder abzubilden, haben wir in diesem Jahr unser Framework um einen SAP/OpenUI5 Client erweitert – gehen also dort den HTML5-Weg.

JAXenter: Ihr selbst habt ja wie erwähnt den CaptainCasa Enterprise Client von Swing auf JavaFX portiert. Wie seid ihr dabei vorgegangen?

Björn Müller: Ja, wir haben 2013 im Community Meeting den Entschluss hierzu gefasst und seitdem nicht bereut. Mit Java Swing-basierter Technologie gewinnt man heute keine Blumentöpfe mehr, wenn’s um neue Projekte geht. Unser Client wird ja vom Server mit Layout-XML beschickt und rendert das aus. Letztlich konnten wir den gesamten logischen Teil von Swing übernehmen und mussten „nur“ das Aufbereiten der Controls anpassen. Dadurch, dass wir viele eigene Controls haben, war der Hauptaufwand das Nachbauen der Controls.

So ein Personenjahr hat’s gekostet, dass alles wieder lief – na ja, und dann noch ein Jahr an kontinuierlicher Feinarbeit. Unsere Nutzer können nun im Prinizip wählen, ob sie als Client einen Swing Client oder einen FX Client wählen – beide „fressen“ dasselbe XML.

JAXenter: An welchen Stellen siehst du noch Verbesserungsbedarf bei JavaFX?

Björn Müller: Auf der strategischen Ebene führe ich ganz klar als erstes die Andoid/iOS-Frage an – bei gleichzeitg großem Respekt vor der Arbeit von Johan Vos und Team. Auf der konkreten Nutzungsebene von JavaFX hat man als „Frameworker“ sehr viel eigene Spielräume, da bin ich recht zufrieden.

Halt, eines aus Swing wäre schön: wenn man in allen Text-Darstellungen von Controls wie in Swing auch zumindest rudimentäres HTML verwenden könnte… Ich glaube, wäre ich ein Anwendungsentwickler, dann wäre die Wunschliste viel länger, weil man sich doch einiges zusammenbasteln muss, um dann eine Anwendung effektiv zu bauen. Man kann sich dann natürlich aber auch exisiterende Frameworks anschauen. Habe ich da schon CaptainCasa erwähnt…?

JAXenter: Vielen Dank für dieses Interview!

Björn Müller ist seit 2001 im Bereich von UI Frontend Architekturen aktiv – sowohl auf der HTML/Ajax Seite als auch auf der Java Swing und JavaFX Seite. Seit 2007 entwickelt er aktiv innerhalb der CaptainCasa Community ein Java basiertes Rich Client Framework für umfangreiche Geschäftsanwendugen, den CaptainCasa Enterprise Client. Der für die Nutzer geräuschlose Umstieg auf JavaFX wurde innerhalb des Frameworks im Jahre 2013 vollzogen.
Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Hartmut Schlosser ist Redakteur und Online-Koordinator bei Software & Support Media. Seine Spezialgebiete liegen bei Java-Enterprise-Technologien, JavaFX, Eclipse und DevOps. Vor seiner Tätigkeit bei S & S Media studierte er Musik, Informatik, französische Philologie und Ethnologie.
Kommentare
  1. dan_2015-10-22 14:04:12

    CaptainCasa Website: http://www.captaincasa.com/

Schreibe einen Kommentar

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