Thoughts on Oracle’s Desktop Java Announcement

On March 7th Oracle made a major announcement regarding desktop Java support going forward. In Java releases, starting this September, JavaFX will no longer be bundled with the JDK/JRE. It will still be supported as a part of Java 8 until 2022. JavaFX was the next generation UI toolkit originally released in 2007. Initially it was a separate download which was initially hobbled it adoption along with using a separate Java-based scripting language. The scripting language was eventually dropped and JavaFX was integrated into the platform and shipped with Oracle releases. JavaFX was developed outside of the JCP process.

Removing JavaFX from the JDK distribution is a retreat for the Java platform. Desktop development is still relevant today. JavaScript, originally a technology used on web pages, has moved far beyond its roots. Just as Java started in the web browser and moved to the server, JavaScript started in the browser and has moved to the server and now finally to the desktop. Popular applications such as Slack, Postman, and Insomnia are JavaScript applications and are installed as native applications.

One of the defining characteristics of Java has been continuity and stability. The JDK has been exceedingly stable over the years. Desktop application code written fifteen years ago using Swing/AWT still works today. Deciding to develop on the Java platform meant long-term stability across multiple platforms. Some of these platforms, such as the MacOS platform, have been through multiple major transformations since 1995. Whether you were developing client or server-side applications, Java provided stability on both ends. Pulling out JavaFX damages this reputation.

JavaFX is not a legacy technology, it is forward-looking and innovative. It enables Java desktop applications to use CSS for styling and integrates Java with the JavaScript ecosystem via its HTML5 web view (embedded browser based on WebKit). It includes support for animation, 3D rendering, media playback, scene graphs, multi-touch, etc. In the era of touch and 3D, and augment reality, this is absolutely the wrong technology to remove from the JDK. Companies including Apple, Microsoft, Google, and Amazon to name a few, are heavily investing in this domain and view it as the future.

I hope that Oracle will continue to invest in JavaFX and keep it as a part of the platform.

Published by rcuprak

Ryan Cuprak is an e-formulation analyst at Enginuity PLM and president of the Connecticut Java Users Group that he has run since 2003. At Enginuity PLM he is focused on developing data integrations to convert clients’ data and also user interface development. Prior to joining Enginuity he worked for a startup distributed-computing company, TurboWorx, and Eastman Kodak’s Molecular Imaging Systems group, now part of Carestream Health. At TurboWorx he was a Java developer and also a technical sales engineer supporting both presales and professional services. Cuprak has earned a BS in computer science and biology from Loyola University Chicago. He is a Sun Certified NetBeans IDE Specialist. He can be contacted at rcuprak@acm.org.