JavaFX is a set of Java APIs and tools used to create desktop applications and rich internet applications (RIAs). JavaFX applications can run anywhere Java UI’s run. JavaFX replaces Swing as Java SE’s GUI. Oracle is actively improving JavaFX, and likely will for many years to come.
Defining JavaFX in one paragraph doesn’t do it justice. After reading the definition of JavaFX, you might still find yourself scratching your head and asking, What is JavaFX?
JavaFX is a modern windowing toolkit for use in Java 7 and above. JavaFX 8 showed up with the release of Java 8. Even though later versions of Java 7 shipped with JavaFX, it wasn’t until Java 8 that JavaFX became a natural citizen of the Java environment. By the time JavaFX shipped with Java 8, JavaFX had matured quite a bit. So, the JavaFX you see now is primed and ready for production Java environments, whether they be traditional Java applications built around JavaFX, or Applets in browsers compatible with Java through the use of a Java plugin.
JavaFX can be used like Java Swing was used, to create UI’s and UX by hand. However, JavaFX can also be organized with a strong separation of presentation layer and business logic.
Separation of presentation layer and business logic in JavaFX is useful when you are creating applications large enough to require multiple developers or software engineers to work together. Separating the business logic and presentation layer allows coders to avoid stepping on each other’s toes while putting together a complex JavaFX app.
Keeping JavaFX app’s business logic and presentation layers separate also allows for easier upkeep and a longer software lifecycle for your JavaFX applications. This is where SceneBuilder and FXML come into play. You can use UX specialists that don’t even know Java to create your UI, and reserver the Java savvy members of your team for work on the business end of your application’s code.