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.

%d bloggers like this: