Why is JavaFX API not included in Java 8 J2SE?

java, java-8, javafx

Solution

JavaFX Roadmap.

According to the FAQ-

As of JavaFX 2.2 and Java SE 7 update 6, the JavaFX libraries are installed as part of Java SE;

For the swing part-

Is JavaFX replacing Swing as the new client UI library for Java SE?

Yes. However, Swing will remain part of the Java SE specification for the foreseeable future, and therefore included in the JRE.

JavaFX is broad enough to have a separate hierarchy just like Java SE or Java EE.

You can see the definition here.

Java SE

When most people think of the Java programming language, they think of the Java SE API. Java SE's API provides the core functionality of the Java programming language. It defines everything from the basic types and objects of the Java programming language to high-level classes that are used for networking, security, database access, graphical user interface (GUI) development, and XML parsing.

Java EE

The Java EE platform is built on top of the Java SE platform. The Java EE platform provides an API and runtime environment for developing and running large-scale, multi-tiered, scalable, reliable, and secure network applications.

Java ME

The Java ME platform provides an API and a small-footprint virtual machine for running Java programming language applications on small devices, like mobile phones. The API is a subset of the Java SE API, along with special class libraries useful for small device application development. Java ME applications are often clients of Java EE platform services.

JavaFX

JavaFX is a platform for creating rich internet applications using a lightweight user-interface API. JavaFX applications use hardware-accelerated graphics and media engines to take advantage of higher-performance clients and a modern look-and-feel as well as high-level APIs for connecting to networked data sources. JavaFX applications may be clients of Java EE platform services.

Problem

Does anyone have any idea why JavaFX 8 still isn't an everyday J2SE API in the upcoming Java 8? The technology diagram showing all the Java components clearly excludes JavaFX from the J2SE stack. I'd like to see JavaFX and Swing APIs side-by-side in the JDK javadocs.. and wonder why Oracle doesn't/can't give us that? BTW, on the topic of JavaFX's different status (compared to other standards included in the J2SE), can anyone explain why the authors of JavaFX felt it absolutely necessary to re-invent the wheel creating AWT/Swing-incompatible concepts like FX Fonts, FX Colors, and the like?

Original source