It’s been almost 2 years since we released JavaFX 2.0 on Windows, followed by Mac OS X and Linux support, and plenty of new features. It has been a blast for us, and we’re pretty happy with what we’ve accomplished so far. JavaFX 8 (JDK 8) is looking in great shape, and we’re pretty much done open sourcing all of JavaFX through OpenJFX. However, nothing matches hearing from you and getting a pulse on the developer community.
So, it’s time for another survey on FX Experience! You may recall our last survey was about tablets and mobile support, and we received an absolutely huge number of submissions. That information was fed directly to the relevant people, and they’ve asked us again to put out the survey below. Your input is hugely appreciated and it is a great way for you to continue to influence the future of JavaFX! Get your friends to participate! 🙂
first, would be great if the Stage can be “always on top”, so the app can be a widget.
second, it will be more powerfull and attract more developer if it can run in mobile.
I just begun working in a desktop-like application in javafx at home, (Linux), and I am enjoying a lot. We still got a desktop swing framework at my company, and we see javafx as a viable replacement.
It is sad that Oracle does not allow currently to use Java on Linux/ARM (like Raspberry Pi): need to wait for Java8 GA in case of redistribution and building of OpenJDK not useful given the lack of a good ARM JIT (only Zero available in OpenJDK on ARM).
I think the ask to wait two years per features updates (time between two Java versions) is another problem: world of ARM computers is evolving faster in my opinion.
Thank you for all your good work.
You can use OpenJDK with the Hotspot JIT compiler, Xerxes (JogAmp Foundation) already did that. I think that Oracle is reluctant to open source its ARM JIT compiler, probably because it considers that it can earn some money with it, through the licensing. I think this is the same kind of mistake Sun Microsystems did, choosing an inappropriate business strategy for mobiles to force phone manufacturers to buy licenses.
I read that Oracle has no more interest in developing JavaFX for iOS an Android. I cannot emphasize enough that for small companies there are great technical barriers developing apps for iOS and Android. JavaFX could just fit in. I hope that Oracle is aware of what big opportunity it has got with JavaFX in its hands.
I agree with you. Google Android APIs are less rich than JavaFX ones in terms of GUIs and layouts. It would be fine to have a single common runtime and almost nothing to change to support iOS and Android. It would be fine if we could use the same tools that already just work under GNU Linux, Mac OS X and Windows. Supporting additional platforms can be very time-consuming, especially iOS.
Each time I plan to write an application, I wonder if I could support high end mobile phones and tablets but I get discouraged when I see that I have to use completely different APIs to achieve the same goals, to do the same thing.
If Oracle is serious about mobile:
– Provide an AOT compiler to allow deployment in environments like iOS. No need to make a political issue around JIT support when compiling to native code would open the door for Java developers to all mobile platforms.
– Stop developing technologies outside OpenJDK, which always get a delayed integration into the OpenJDK, thus hindering adoption at large.
I agree with you, we at the JogAmp Foundation would like to provide a common Java runtime for desktop and embedded (mainly mobile) environments, we tried to solve the legal issues:
We would like to use Avian (or any alternative including RoboVM) with a linkage against an headless and AWT-free version of OpenJDK and our own cross-platform windowing toolkit (compatible with AWT, Swing and SWT if available through bridges).
We will need some help to port Icedtea Webstart to Windows, Mac OS X, iOS and Android so that we can at least provide fully functional OpenJDK builds including applet and Java Web Start support.
The 3D API of JavaFX suffers of some limitations and design flaws I already found in Java3D several years ago. For example, it uses several backends for 3D hardware acceleration which is known to be difficult to maintain and which leads to inconsistent behavior across platforms. That’s why I only kept the JOGL backend in Java3D 1.6. Moreover, Oracle has only a very little experience in 3D but JavaFX is painful to combine with existing 3D Java engines (we have to draw each widget in a FBO which is cumbersome and not as fast and reliable as on-screen rendering), for example Ardor3D, JMonkeyEngine, 3DzzD, Java3D, Xith3D. JavaFX is not designed to be integrated in existing 3D frameworks and its 3D API is in no way as rich as the existing ones.
Currently my mobile applications are done in C++, as I am very pragmatic and don’t care about language wars. It is all about what my employer and what project requirements ask for.
When I complained about J2ME in the Terrence Barr blog, stating which languages my employer is looking forward for embedded development, I got the standard J2ME marketing speak answer.
The type of answer that anyone with experience in J2ME back in the J2ME golden days, knows it is far from reality.
Java is not going anywhere for many years to come, but lately I started seeing Java in the same eyes as when I left Turbo Pascal/Delphi world, if this type of management is to continue.
Thank you for the link. His last sentence makes me laugh. Writing robust applications was really challenging because of J2ME fragmentation. Each vendor has its own implementation, its own fixes and bugs. Lots of game developers got accustomed to use a kind of preprocessor to handle some cases, especially when some features were exposed in different APIs across devices. Java can go somewhere but we shouldn’t rely only on Oracle. The guy you quote only speaks about low and mid range devices. What about Android?
From what I have seen, Oracle seems to be avoiding acknowledging Android’s existence.
Sure Google might be doing a Microsoft’s like move, but if it wasn’t for Android’s use of Java, there wouldn’t be any more Java in the mobile space.
Survey asks “how many user will use your mobile application?” – I don’t have a mobile app, mine is on the desktop! I listed the number of users regardless of platform…
JavaFX is extremely promising and I’m quite excited about it. There seem to be a few rough edges, however:
The Stage.isResizable method seems to be only a hint (at least on Linux). The stage does not obey min/max Width/Height, either. Always-on-Top would be highly valuable, too.
The 3D capabilities are really nice, as well, but I wish there were just a few more capabilities added: I need to draw lines between points in 3D space (a 3D coordinate grid; I could do that myself if I had a hook to paint my own background), and I would like Billboard objects (can SubScenes do that?).
Look at existing 3D Java engines, they already provide these features. JavaFX 3D API is simple but very poor compared to them.
expect a small jvm
While JavaFX 2 has some rough edges, we’ve found it to be a great platform for desktop application development. An added bonus is being able to bundle the JRE and distribute to Windows, Linux and Mac’s, all from a single code-base.
JavaFX is a great step forward for Java and I thoroughly enjoy working in it.
We love to develop with JavaFX… Still waiting for JDK8
The survey almost doesn’t ask anything? Did I miss something?
I released a product made with JavaFX (https://www.facewizz.com/). I really liked the framework, but I’m so, so, so frustrated by the lack of bugfix releases. There are really major bugs in this version, for which the fixes are just postponed to Java 8 without giving any tought to current users. I almost didn’t get to release my product because of these bugs, I had to find dozens of workarounds. As it is now, I think JavaFX is more of a beta product than a usable product.
i am enjoying working on javafx.. waiting for the release of the jdk1.8
Why do you assume it is a mobile application?? Standalone applications running on our workstations rock!