The decision to provide a pure Java based JavaFX API activates the pure Java people who where FXML resistent in the past.
JavaFX is the future ... the last few month when I check the new possibilities I came slowly but surely to this opinion...
The Scene Build is still based on FXML. So ... for the pure Java developer there is no advantage to use it ... only to see what components are available in the JavaFX standard I see no advantage for me to use it. I won't create JavaFX clients based on FXML.
What's the future plan...is there a Project in the World who want to provide a Visual GUI Builder who produce pure Java based JavaFX Code like Eclipse Window Builder do it for Swing or SWT or JBuilder for Swing many years ago.
That's the main reason that JavaFX get successful in the future. A software architect who has to decide using JavaFX as the new Company Standard...will never do it without stomachache.
Do I miss some news?
Is there are NetBeans Version who can do it or a plugin I don't now?
Edited by: 984992 on 30.01.2013 14:24
Edited by: 984992 on 30.01.2013 14:30
And why ?
The last month I learned the API...ok...it looks good I now the stuff.
But not I would like to decide for a new project if I can used it ...the quality of JavaFX looks not so bad.
Do the Java Community really think that JavaFX gets successful when there is not Visual GUI Builder not using pure Java ?
It is not my goal to criticize the JavaFX-Team.
It is not a question of XSL knowledge. (BTW: I have it due to my thesis many years ago)
The question is more related to, why is there no plan to do this from e.g. Eclipse, Oracle, Netbeans or company XYZ.
The Java community announced - JavaFX is the future...I think the same...but without a GUI Builder who generate pure Java code?
I'm surprised that there is no plan to do this or that there are no news who says..."2014 there is a plan for a GUI Builder in Netbeans, Eclipse who produce pure JavaFX Java code"
It's not a hobby to develop it...such a project need man power. ;-)
(I don't expect that the GUI Builder it is for free when it exists)
Edited by: 984992 on 30.01.2013 15:34
IMO as someone who is using it now, after thinking it would suck to learn fxml and do more css, it isn't that bad. The code isn't hard at all, though I understand why you would want more java code. Scene builder itself it still new. There are some kinks needing fixes, but otherwise it's not bad. The scene builder will be integrated into netbeans in the next few years so I wouldn't worry about it... FX is an extremely new language, and I think it's going to be amazing.
As I write it: It is not my goal to criticize the JavaFX Team or architects. I now that nobody has time to accommodate all wishes, everybody has a limited budget !! :-)
But, as I write before, when I now start using FXML in a productive project, from my point of view I can never go back to pure Java coded JavaFX ... the effort to design masks is less using in many cases a GUI Builder ...
Was there never a meeting between e.g. the Window Builder Team of Eclipse ... JavaFX is ready !! An architect of maybe a bigger team who has to think about budget, education of a developer team, future of a long life project...must appraise this as a minus point that there is no pure java gui builder !! ...or I'm completely wrong ?
When I ever win in the lottery and I can do what I want ... maybe this could be a challenge for me to move an existing plugin of Eclipse or Netbeans to JavaFX...but...nobody give me the right numbers of the lottery.
Should I really leann FXML ??? This is a hard decision for me !! I determine that the SceneBuilder is a good product !!
Edited by: wschele on 30.01.2013 23:59
Edited by: wschele on 31.01.2013 04:19
I don't think you are getting it, or just making a big deal about it.
Currently SceneBuilder is connected to Netbeans using the FXML. It's not hard at all, nor is there a big issue. In the next few years Scenebuilder will be in Netbeans integrated, so it will be just like the swing gui builder. FX is still new, from a scripting lang, to a super powerful lang. FXML uses so little code.... Also you can do things either with, or without FXML, FXML IS NOT NEEDED IN FX AT ALL, only limited on Scene Builder.
This is the FXML I am using for a dice game I am creating. Not much at all.
<?xml version="1.0" encoding="UTF-8"?>
<BorderPane fx:id="border" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="785.0" prefWidth="1518.0" xmlns:fx="http://javafx.com/fxml" fx:controller="ZonkController">
<AnchorPane minHeight="86.0" minWidth="62.0" prefHeight="390.0" prefWidth="768.0">
<Button fx:id="button" layoutX="126.0" layoutY="90.0" onAction="#handleButtonAction" text="Click Me!" />
<Pane fx:id="pane" layoutX="737.0" prefHeight="390.0" prefWidth="211.0" />
<AnchorPane prefHeight="386.0" prefWidth="460.0">
<BarChart fx:id="barChart" layoutX="7.0" layoutY="-10.0" prefWidth="460.0">
<CategoryAxis fx:id="names" side="BOTTOM" />
<NumberAxis fx:id="scores" side="LEFT" />
<ImageView fx:id="iv" fitHeight="394.24998969072755" fitWidth="525.6666641235352" pickOnBounds="true" preserveRatio="true" BorderPane.alignment="TOP_CENTER" />
It is all codecompleted like a class normally would, so there is nothing to worry about :)
.CSS isn't hard either.
UI builders based on code generation are much more trouble than those based on a UI "description" like FXML. Firstly, while it isn't excessively hard to generate code, it's a huge mess to parse it back in for the inevitable iterative development cycle. Particularly if you assume the developer has modified the generated code, which you are almost encouraging them to do. Secondly, you are almost certainly locking developers into that UI tool, because it will be prohibitive to get into the UI designer business, much less parse generated UI code in the style of another tool. There is effectively no "UI interchange format".
Apple has the definitive UI builder, right? Interface Builder has been using serialized UI forever. The exact format isn't even important (original versions were binary, though it's XML now). In the same way you don't care what MS word format looks like, you shouldn't have to care what FXML looks like.
If you really dislike FXML, however, you could write a reasonably small tool to turn FXML to code. Much harder to do the opposite. :-)
I know what you mean. I don't use usually a GUI Builder to develop my GUI, I do it manually or I copy similar masks and adapt it.
But - learning a new tech. like JavaFX it is sometimes easier to see what happen in the source when I drag and drop a GUI using a GUI Builder.
When I learn it the last 6 month...I has all to di by feed. It has the advantage that I know now the API :-) My next argument against your simple FXML example is...we should not speak about examples with a "Hello World" character.
Can you post me the FXML code when you develop a mask like an "Order or Booking screen" with 20 or more widgets who interact with 5 or more dialogs.
Developing an ERP system means that the user need an very interactive GUI ...
The last 15 years I develop such systems...and without having a GUI Builder I need much more time ... especially when you start a new project...believe me...
My basement to discuss this is not to implement a client with one table overview and one detail masl.
JavaFX should be ready for a big ERP Systems !! And for this a GUI Builder is needed in one of the favorite development tools like Netbeans, Eclipse, ... My conclusion: JavaFX without FXML is my favorite usage, I start to implement a JavaFX Code Generator including some special features - then I will continue to develop my app !!
Edited by: wschele on 01.02.2013 05:09
Edited by: wschele on 01.02.2013 05:11
You're not making much sense to me. First you say you don't want to gui builder, and have rarely used it. Now you are saying you MUST use the gui builder for FX. It isn't needed at all, just like Swing's gui builder. You don't need FXML AT ALL. IMO the gui builder saves you tons of time, so not sure where you believe it will take that much more. Also I'm sure you can hold tons of FXML code within the builder. You can also call other FXML code into your builder so you don't have 1 giant clutter of code.
Also again Scene Builder works with Netbeans.
You must differentiate my statement:
1.) I have the skills to use it via API and what I learned...there is no other choice. I started to develop a POJO based JavaFX Source Code Generator...
2.) My opinion is, that it is the wrong strategic not to provide a JavaFX GUI Builder who generated pure Java Code (no FXML !). For a software architect it is hard to decide using it maybe with a team of 5 developers not having such a state if the art tool. GWT, Swing, SWT, all Microsoft technologies provide such tools for there GUI languages. This will be a important reason how fast JavaFX achieve high success.
Where is the antilogy in this thread? I think there is no space to misunderstand it.
Edited by: wschele on 04.02.2013 04:48