Sean Phillips thoughts on JavaFX

In November 2015 Dirk Lemmermann (Freelancer) and I (Alexander Casall) had a JavaOne session about JavaFX Real World Applications. The article “20 JavaFX real-world applications” summarizes the talk by showing the applications that we’ve talked about. In addition, I asked the contributors some questions regarding JavaFX: Here is the interview with Sean Phillips.

Here the interviews with the other contributers: Dirk Lemmermann, Jan Gassen, Rob Terpilowski.

Can you tell us about the highlights when you used JavaFX?

Animation, Easy Layering/Transparency, Object Grouping and Performance.  These are the things I love about JavaFX and you will notice these are all the things that were hard(ish) to do in Swing.

What is your general opinion about JavaFX?

I love it… it really frees my imagination when designing interfaces.  I starting learning Java GUI development when Swing was young.  Swing was great at the time but it forced you into certain design patterns. Step outside those patterns and you would have a difficult time of things.  JavaFX provides all the capabilities you would need to build almost any custom interface with far less restrictions, smaller code footprint and great performance.

JavaFX, Swing, SWT, HTML5 – Who wins – or better, when to use what?

I don’t think it is a choice of winners, more a matter of what makes sense.  Clearly HTML5 makes a lot of sense for many simple business tools that have straight forward interface requirements and smallish data requirements.  Your cookie-cutter data entry form and simple high level statistical plotting dashboard for example.

JavaFX makes more sense when you have highly custom interfaces and large data management requirements, especially for Enterprise applications intended for focused usersets. The data visualizations I must build have way too much information for a browser to manage.  JavaFX gives me the beauty and performance to build these software tools with a small, modern, manageable code base. The recent development that Android is moving to the OpenJDK is great news for JavaFX as now JavaFX apps will be much easier to port and have even better performance now using fantastic tools like Gluon’s JavaFXPorts and Charm.

How satisfied are you with the work of Oracle on JavaFX ?

I’m happy with Oracle’s desktop development and their team for that is great.  I am disappointed with the JavaFX 3D offering as there is so much potential to be had with having such a seamless 2D/3D mixed framework but the feature availability is too low for the majority of developers.  JavaFX 3D was so lacking that Jose Pereda, Jason Pollastrini and myself took it upon ourselves to create an open-source offering of 3D components, F(X)yz, to help fill that gap. Hopefully the underlying OpenGL calls will be opened up to the developer with the release of JavaFX 9.  That would allow a lot of frameworks and community libraries to port to and expand into the JavaFX space.

I also feel Oracle really missed an opportunity with the Android mobile market with JavaFX.  If they had jumped on mobile architecture support much earlier, the rise of Android devices would have ignited JavaFX adoption.  This created a development gap for several years until Gluon stepped forward with some of their great offerings.

What do you miss in the work with JavaFX?

A true pluggable windowing application framework like the NetBeans Platform.  All the great parts of using an application framework like the Platform, the reusable workflow components, docking framework, Services and Lookup APIs, must be developed from scratch.  This is why we build hybrid applications that leverage the NetBeans Platform as an application framework but embed complex and custom JavaFX components

Alexander Casall works as a software developer at the Saxonia Systems AG in Dresden, Germany and his focus is with the implementation of modern multi-touch applications (JavaFX) and also the iOS Development ( Alexander publishes articles in journals, speaks at conferences (JavaOne, JAX, W-JAX) and is a speaker in various User Groups.

Twitter Xing