JavaFX at JavaOne 2014
mike at plan99.net
Mon Jun 23 11:17:58 UTC 2014
> If it is correct that JavaFX won't be supporting iOS or Android
> (officially), IMO JavaFX will start fading away as soon as there is a
> reliable technology that can create apps for all platforms.
People have tried HTML5 as a way to create apps for mobile platforms. Most
of the big names who tried this e.g. Facebook have abandoned it.
Personally, I don't care much about JavaFX on Android or iOS because mobile
has such different UI requirements and conventions to desktop platforms. I
can write a JFX GUI that looks and feels good across Mac/Win/Linux with
very little platform specific code because those platforms are all quite
similar and anyway, the respective developers of those platforms trained
users to expect apps to not fit in perfectly.
On mobile, things are different: you can't just use a desktop UI, you need
a totally new UI and maybe even feature set built from scratch. On Android
the UI toolkit is closely linked with the lifecycle rules. And UI's tend to
be a lot more consistent, with the worst offenders being apps that weren't
updated to the latest UI conventions yet rather than apps which simply
reinvent the look and feel from scratch.
I'd actually prefer that Oracle focuses on making a great desktop solution.
Hype aside there are still many apps not appropriate for mobiles or
tablets. Then with a Java or JVM-language backend I can have just two UI
codebases, one for desktop, one for Android and that gets most mobiles.
Then RoboVM's Cocoa bindings can be used if need be for iOS.
BTW I don't think JavaFX can "fade away" given that it's starting from
obscurity already ;) Truth is the world lacks a convincing cross platform
UI toolkit at the moment: there's Qt, which is fine for C++ but is not so
pleasant from other languages, there's Swing, there's HTML5. Both Swing and
Qt have a reputation for making ugly GUI's. That may or may not be deserved
these days, but people remember the history. Plus deployment is horrible.
That leaves HTML5, which despite its manifest limitations at least can be
made to easily look good via CSS, follow modern fashions, work on
everyone's computers and people don't have to download an extra app
runtime. So for many apps it's appropriate especially when the bulk of the
app logic runs on a server.
JavaFX 8, at least based on my experience so far, can be used to make
attractive and web-style UIs, thus matching the first of HTML5's
capabilities, plus it has the benefit of actually being designed, unlike
HTML which just evolved. This leaves deployment as the primary problem. For
this reason Danno is my current fav member of the JavaFX team :) Nothing
personal guys, I just see cross-platform deployment of *reasonable sized* apps
to be the biggest competitive weakness right now.
More information about the openjfx-dev