I am new to JavaFX and I come across 2-3 ways of designing UI in JavaFX.
Which of these is better? and why?
Just to put some light, javafx script was used prior to javafx 2.0 and is no longer in use !
You can use this approach, if you are more familiar with the coding UI in java. But, I personally dislike the approach, since it makes the code complex when you have a way too complex application.
JavaFX Script was in use prior to JavaFX 2.0 and is no longer in use
FXML based UI design was introduced in Javafx 2.0. These help a programmer to code a javafx application, using a MVC approach. A very good introduction to FXML can be found here.
From a section in Oracle docs, Why Use FXML
From a Model View Controller (MVC) perspective, the FXML file that contains the description of the user interface is the view. The controller is a Java class, optionally implementing the Initializable class, which is declared as the controller for the FXML file. The model consists of domain objects, defined on the Java side, that you connect to the view through the controller.
The FXML can be easily designed using Scene Builder, which is a Drag n Drop UI designer for javafx application. Using
FXML has the following advantages :
look and feelof the application as and when required, just like websites !
scalability and maintainabilityin your applications.
My suggestion for you would be to go with the FXML's. If you are not aware of them, learn them. It will be worth it!