days
-1
-2
hours
-1
-2
minutes
-1
-7
seconds
-3
-1
search
Interview series — Final part

JavaFX 11 under the microscope: “There’s a lot more going on with JavaFX than anyone gives it credit for”

Gabriela Motroc
JavaFX 11
© Shutterstock /Andrea Danti

Now that JavaFX 11 is here and a new era has begun, it’s time to take a look back and a leap forward. In the last part of the interview series, our interviewees reveal if (and why) they would choose JavaFX instead of other UI technologies and if there’s a place for JavaFX on desktop, mobile and embedded. 

“I’m excited about JavaFX!”

It’s time to meet the standalone JavaFX 11 release. You can download it by going to the openjfx.io site or by accessing javafx modules from maven central  at openjfx:javafx-COMPONENT:11 (where COMPONENT is one of base,  graphics, controls, and so forth), according to the message announcing the release.

Note: JavaFX 11 requires either JDK 10 (which must be an OpenJDK build) or JDK 11. JDK 11 is recommended. You can find the release notes for JavaFX 11 here

You can develop JavaFX applications in two ways:

  • Download and install the JavaFX SDK
  • Use a build system (e.g. maven/gradle) to download the required modules from Maven Central.

A recent early access version of the Java 11 SDK is required for both options.

Now that JavaFX 11 is here and a new era has begun, it’s time to have a look at what’s changed and what’s stayed the same. In the first part of this interview series, we invited Johan Vos, Jonathan Giles, Dirk Lemmermann and Donald Smith to weigh in on the latest release, the difference between a JavaFX that’s been decoupled from the JDK and the old one under Oracle’s stewardship, how the process has changed and how the community should adjust to the latest developments. 

In the second part, our interviewees weigh in on the differences (if any!) between the “new” JavaFX and the “old” one. Just to give you an idea of what was included in the second part, here is what Donald Smith told us:

The difference should be that now you simply treat JavaFX as you would any library that doesn’t ship with the JDK.

In the last part of the interview series, our interviewees weigh in on the fact that JavaFX has been decoupled from the JDK, they reveal if (and why) they would choose JavaFX instead of other UI technologies and if there’s a place for JavaFX on desktop, mobile and embedded.

Don’t miss the first two parts of the JavaFX 11 interview series:

 

4 answers: Are you thinking of switching to another UI technology now that JavaFX has been decoupled from the JDK?

Meet the interviewees

Johan Vos (@johanvos) is a Java developer, Java Champion and the co-founder of Gluon and LodgON.

Jonathan Giles (@JonathanGiles) is a Java Champion and JavaOne Rock Star. He is a senior cloud developer advocate at Microsoft.

Dirk Lemmermann (@dlemmermann) is an independent consultant and developer. Last year, he received the Java One Rockstar Award.

Donald Smith (@DonaldOJDK) is Senior Director of Product Management at Oracle.

Johan Vos: No, on the contrary.

Jonathan Giles: No, of course not! JavaFX is an excellent choice for cross-platform user interface development. Not only does it run across Windows, MacOS, and Linux, it also runs on iOS, Android, and Raspberry Pi. That’s a single programming language and UI toolkit, hitting pretty much all users. That’s really cool and super useful.

The fact that it is not being bundled with the JDK anymore actually makes it so much more attractive to me.

Dirk Lemmermann:  Definitely not. I love working with JavaFX and the fact that it is not being bundled with the JDK anymore does not change that at all, it actually makes it so much more attractive to me as this holds the promise of accelerated development and growth.

Donald Smith: Oracle has no plans to change any of its existing uses of UI technology, this is all very much business as usual.

SEE ALSO: JavaFX 11 under the microscope: “Decoupling JavaFX into modules is the right thing to do”

 

Why would you use JavaFX instead of other UI technologies?

Johan Vos: Mainly because it is Java. As one of the 12 million Java developers, I want to leverage my existing skills for using UI applications rather than learning a new language. Also, Java has a very strong security model, and especially for end-user applications, privacy and security are getting more and more important.

The maturity and stability of Java make it a better choice for applications that require privacy, security, maintainability

Dirk Lemmermann: I guess we are talking about HTML as its main competitor here? The big advantage of HTML is the simplicity when it comes to deployment. An updated application becomes available to all users immediately. No need to download or install anything locally.

However, the deployment is also its biggest disadvantage. An HTML application does not come with its runtime environment bundled into it as is the case for JavaFX applications. HTML applications require a browser and there are many different browsers out there and for each one many different versions. The publisher of a web application has to support all of them and the list of browsers and their versions is constantly growing. My customers and I choose JavaFX because it allows us to create an application bundle that can stay unchanged for many years and will execute just fine. I never get a customer call asking me to update anything because they have decided to move from browser X to browser Y or from browser X version 1 to browser X version 2.

Using JavaFX means that you can work with a single framework for years to come without having to constantly scan the internet for the next JavaScript framework of the month.

But there are also other reasons for using JavaFX, one of them being that it is so much fun. The API has been beautifully designed and is a pleasure to work with. Property bindings, CSS styling, and hardware acceleration ensure that any developer can produce commercial grade applications.

Using JavaFX means that you can work with a single framework for years to come without having to constantly scan the internet for the next JavaScript framework of the month (or week?).

Donald Smith: JavaFX provides a full-featured Graphical User Interface that allows applications to easily create rich applications that run across a variety of platforms.

SEE ALSO: JavaFX 11 is here!

 

Do you see a place for JavaFX on desktop, mobile, embedded?

Johan Vos: Absolutely. People want to access data and functionality, regardless if they are on desktop, mobile and embedded. In the end, most client applications need to connect to enterprise/cloud applications. Using Java is a great choice for a platform-independent solution, saving lots of time over a solution where each platform requires a different technology.

Jonathan Giles: Yes. I think JavaFX enables Java developers to build a good-looking, highly styleable, and highly performant user interface in the language that they are already familiar with. It doesn’t force the user to familiarise themselves with different programming languages and idioms simply to get their software onto multiple platforms.

I’m excited about JavaFX, and based on my experience dealing with users of JavaFX all around the world, I think there is a lot more going on with JavaFX than anyone gives it credit for.

When you use JavaFX you save a lot of time and money because you can deploy the exact same application everywhere.

Dirk Lemmermann: The fact that JavaFX runs on all three of these platforms (and even the web when you use JPRO) is the reason why I see a place for it on all of them. When you use JavaFX you save a lot of time and money because you can deploy the exact same application everywhere. No need for code changes.

Obviously, certain layout aspects need to be considered because of space constraints on mobile and usually also on embedded devices, but the level of reuse is almost 100%. Similar things can be said about HTML but the past has shown that users do not want HTML on their phones. They want apps and JavaFX in combination with Gluon allows you to do just that.

Donald Smith: We open sourced JavaFX many years ago at openjfx in OpenJDK and have been encouraged by the many ways it’s being used.

 

If you’d like to learn more about JavaFX, including how to program JavaFX applications and how to bring your Java apps to mobile platforms such as iOS or Android with Gluon, don’t miss JavaFX Days Zurich in the first week of December.

Author
Gabriela Motroc
Gabriela Motroc is editor of JAXenter.com and JAX Magazine. Before working at Software & Support Media Group, she studied International Communication Management at the Hague University of Applied Sciences.

Leave a Reply

2 Comments on "JavaFX 11 under the microscope: “There’s a lot more going on with JavaFX than anyone gives it credit for”"

avatar
400
  Subscribe  
Notify of
buntu
Guest

Java is dead just use electron.js with typescript if you really want to code modern cross platform GUI app.

Not a pro
Guest

And watch a couple of terminal, chat and editor apps eat away your RAM…Sure RAM is cheap and everyone is sitting behind an i7 these days…let’s have 300 MiB RAM apps which take 50 sec to load, 3 seconds to respond to buttons and idle at 2% CPU…Welcome to the “modern way” in which cramming up modules is developing and latency is a feature
(I’m biased though since I only know javafx now)