Learn from Java Champion Gerrit Grunwald: JavaFx – not dead yet
In our special Java Daily edition, we would like to introduce you to Gerrit Grunwald. He is a software engineer with more than fifteen years of experience in software development. A true believer in open source and participant in popular projects like JFXtras.org, he also has his own projects (TilesFX, Medusa, Enzo, SteelSeries Swing, SteelSeries […]
In our special Java Daily edition, we would like to introduce you to Gerrit Grunwald. He is a software engineer with more than fifteen years of experience in software development. A true believer in open source and participant in popular projects like JFXtras.org, he also has his own projects (TilesFX, Medusa, Enzo, SteelSeries Swing, SteelSeries Canvas). You can find him on Github or on his personal blog.
Gerrit blogs regularly as well as being an active member of the Java community, where he founded and leads the Java User Group Münster (Germany), he is a JavaOne rockstar and a Java Champion. He is a speaker at conferences and user groups internationally and writes for several magazines.
Java Daily:What do you think is the future of desktop applications in general?Gerrit Grunwald: Well in 2012 Google announced the desktop is dead and the future is the web. Now we have 2021 and if I take a look at my computer I more or less see only desktop applications. And if it would only be the browser it is also a desktop application. I’m pretty sure that desktop is not dead and will continue to be available. Web applications will grow in market share but the desktop is still a market that one should not underestimate.
Java Daily:What would be the criteria for choosing JavaFX over a standard JavaScript-based web UI (like ReactJS or Angular)? And what will be the criteria for NOT choosing it?Gerrit Grunwald: If you need access to the local file system, big data, or if you have to handle large table views, etc. it’s usually the point where a desktop application (not only Java) will shine because these things are really hard to do by using web technologies.
The other reason is the lifetime of the application. Desktop apps will mainly be used by large companies internally. Such internal apps usually are not made to be changed with every new web frontend framework. These apps usually will be used for years and for such apps desktop applications simply make more sense.
Java Daily:Can you give some examples of popular products or companies that have adopted JavaFX and why?Gerrit Grunwald: I know that companies like Zeiss, Microsoft, Intellij, UBS, Eizo, Airbus, Nasa, Audi, BMW, Volkswagen, Debeka, Navis, and others are using JavaFX applications internally. There are various reasons why such companies decided to go with JavaFX for their desktop apps. One reason is that it is often easier to re-use libraries and existing code from the Java backend or other existing apps/projects. Big companies don't want to jump on each new JavaScript frontend technology that shows up so they often decide for the long run where Java rules because of its backwards compatibility. So they can be sure that when they create their desktop app in Java with JavaFX it will also run in a couple of years and might even get the latest updates.
Java Daily:The ability to render your UI to different devices (mobile, web, desktop) is currently in high demand. Will JavaFX adapt to this or maybe it can be easily combined with another solution to achieve this feature?Gerrit Grunwald: Well that’s exactly what you can do by using JavaFX, you can use the exact same code for desktop, mobile, and browser. Desktop is the standard, for mobile applications you can use Gluon which not only makes your JavaFX application running on iOS and Android but also on embedded devices like the Raspberry Pi and for the browser you can use jPro and for the browser you don’t need a plugin!!! If you open the jPro website you actually use a JavaFX application because the whole page is written in JavaFX!
Java Daily:What are the cross-platforming possibilities of JavaFX? Can you truly write once and then run everywhere or there are some important limitations we need to be aware of?Gerrit Grunwald: Well you can use nearly all features of JavaFX on platforms like MacOS, Windows, Linux, iOS, Android, and ARM. There are some restrictions on some platforms like no sound and no web-view on iOS, Android, and ARM. The reasons for these limitations are not technically but the lack of manpower. Gluon simply has not enough people to port all features to all platforms and they decided to leave out sound support for the moment. And to be honest, the sound is really not the most important thing on a mobile or embedded app. The web-view is a different story and we might see something in the near future here.
Java Daily: What are your favourite software engineering-related books? What about non-technical?Gerrit Grunwald: Hmm…that’s a good question, I did not read a software engineering book for years, so I cannot really say that I have a favourite. Non-technical is a different story, one book would be „Ready player one“ which is just awesome and there is a series of books called „Heroes of Olympus“ which I also like a lot. Apart from that my absolute favourite books are the books about „Perry Rhodan“. These books are only available in German and are science fiction.
Java Daily: If you currently have to write a simple web-based project (like a photo gallery) for example, what technology stack would you choose?Gerrit Grunwald: Ha…now you got me…to be honest, I have no idea and this is because the web stuff is changing so rapidly that I would always look up what is the latest and greatest stuff to use before I would start a project. Lucky me I don’t have to create a web-based project at the moment :)
Is there anything else you would like to ask Gerrit Grunwald? What is your opinion on the questions asked? Who would you like to see featured next? Let’s give back to the Java community together!
Innovators by heart. Developers by passion. We’re Dreamix Team - a group of trailblazing techies trying to make the world a better place through technology. We provide custom software development, keep you updated on market and industry trends, and have a great time doing it.
Sign up for our newsletter and never miss an article
[mc4wp_form id=8036]
Manage Consent
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.