3 ms·
Good timing. Just the other day, I was reading up on $current_year cross platform GUI solutions, like the back and forth discussions on the merit of React Nativ
by ducktective 2y ago
Good timing. Just the other day, I was reading up on $current_year cross platform GUI solutions, like the back and forth discussions on the merit of React Native vs Ionic or Capacitor, or whether the "future is Flutter" or how Google may go all-in on Kotlin Multiplatform and abandon flutter. You know, the usual drama.
Then I remembered some years ago, in this similar situation, I decided to learn (invest time on) JavaFX when Qt, gtk, Xamarin and web tech were the alternatives.
Well, yesterday I googled, after all these years, if JavaFX apps can be run on Android devices (spoiler: no, or not in a usable way)
Now, in hindsight, I know that I put my egg on the wrong basket by focusing on Java and JavaFX. I was deluded on their write once run everywhere promise. I feel betrayed by Oracle due to their detaching of JavaFX from default JDK.
I think if I chose to focus on a web tech frontend framework (or even Qt) I'd been better off.
Thanks for coming to my Ted Talk.
- self_awareness 2y ago> I feel betrayed by Oracle due to their detaching of JavaFX from default JDK. Why? Didn't removal of JFX from default JDK just meant that developers are expected to bundle their own thin custom-built JREs alongside the application? So that the applications will run on systems that don't have a JRE installed, or their installed JRE is too old. E.g. JetBrains distributes their own JRE with Idea, which contains bundled JFX. Or, they did it in the past, not sure about today.
- vips7L 2y agoAzul has an OpenJdk build with FX already in it as well.
- ajtjp 2y ago"just meant that developers are expected to bundle their own thin custom-built JREs alongside the application" can be significant initial setup work and overhead, and seemed more so back then. With Java 8, I shipped a combo Swing/JavaFX application, and built it once, and it ran everywhere. Now I have to figure out the module system and figure out how to ship it with platform-specific JREs? That's a lot more packaging overhead for a hobbyist project, or at least, that's what it felt like at the time. After hearing (from Oracle) in the early 2010s about how JavaFX was the future of GUIs in Java, I can identify with the feeling of betrayal when it was unceremoniously removed from the JDK. If I'd known that was coming, I wouldn't have added JavaFX to my Swing application. Nowadays we know that there are Bellsoft and Azul (is ZuluFX still a thing?) JVMs that still ship with JavaFX, but when Oracle made that announcement, we didn't know that, There were a couple years there where it looked like a significant refactor to externally linking OpenJFX, and shipping one-distro-per-system instead of one JAR, would be needed to move past Java 8. Now it's not so bad, I still target Java 8 as a minimum, but can point my program's users to the Liberica JDK and everything just runs.
- brnt 2y agoYou mean the Liberica JRE? Or is the JDK really needed to just run a .jar using JavaFX?
- deleted 2y ago[deleted]
- vips7L 2y agoWith Gluon mobile you should be able to deploy to android. > I feel betrayed by Oracle due to their detaching of JavaFX from default JDK. I really find this to be extremely odd. It’s simple to add back as a dependency in your build file. Or just use a build like Azul’s which includes it in the runtime.
- brnt 2y agoGluon adds a nag screen to Android deployments, unless you become a paying customer. And indeed, most vendors don't seem to support Android at all...