Regarding the comment that the design of JavaFX is vastly superior to
Swing.. I would argue against bluntly stating that (not criticizing who
said that).

There are obviously cons and pros to each approach. On the one side Swing
was much easier for developers to extend and to add functionality on top
whereas JavaFX is harder. JavaFX on the other hand can evolve in a more
safe way since the implementation details are less exposed to developers. I
wouldn't say one is better than the other, I guess it depends on the
scenario you're in. There are pros and cons to each. There are certainly
lots of developers that preferred the Swing approach (myself included) and
others  would probably prefer the JavaFX one (not sure which one the
majority prefers).

When the JavaFX team first made this decision there were some
conditions that don't hold true anymore, so the underlying scenario has
changed.
Back then it was assumed that the user would be the one responsible for
installing and updating the JRE that was going to be used in the app (so
you were never sure which jre the user was on). That's no longer the case
as almost all apps ship with its own JRE.

More importantly, back then the javafx team was much bigger, so changes
could be made at a faster pace. Yes JavaFX was closed but if the JavaFX
team saw there was a need from developers for some feature/API it could be
added much more quickly while still not exposing too much of the
implementation.

I wonder if in some parts we can compromise if we see there's a need. Like
exposing some parts but adding a annotation or something saying that we're
still experimenting or/and some scenarios might not be supported, so be
careful using this, etc... (that's somewhat already happened in javafx 8
with the @treatAsPrivate annotation)
Just some food for thought...

I like the compromise that John Hendrikx suggested of copy pasting code and
changing the copy pasted code (given the internal API usage is solved). I
have done that sometimes. I just have one question though: does the license
of JavaFX permit a commercial app to have that in its own app (copy pasted
code from the JavaFX SDK)?

I have already said that, but what I really would like JavaFX to provide
would be more points of extension, things like the possibility to
extend the CSS parser and add more CSS primitives, etc...
Bottom line: make the API more powerful in terms of what the developer can
do. Right now if you want to do something slightly less standard you're
likely to hit a bunch of hurdles...

My 2 cents..





-- 
Pedro Duque Vieira - https://www.pixelduke.com

Reply via email to