I have been at JavaOne since 1996, its inaugural year. In 1996, JavaOne was colocated with the Software Development conference, which has since fallen on hard times and vanished. But at the time, half of the exhibitors were from SD, and the other half from JavaOne. Weirdly enough, the JavaOne booths were all yellow with a bit of red and blue, so it looked as if the SD half of the exhibit hall represented the free world and the Java One half a totalitarian regime. This year, JavaOne is again colocated with another conference, Oracle OpenWorld, but I am on sabbatical in Vietnam, so I didn't get to enjoy the show.
However, through the miracle of the blogosphere, it is amazing how much information one can get without actually being present. In fact, maybe it's helpful to be outside the reality distortion field. Here is my take from afar.
2. I didn't hear anything about Java EE 7, but that's ok—the EE 6 app servers are just rolling out.
3. There were encouraging words about commitment to GlassFish and NetBeans.
3. The big surprise announcement is Java FX 2.0. A release is promised in 2011 with an ambitious roadmap. There will be Java bindings to the API, which means you no longer have to use FX Script. Now that's something that I have asked for ever since I first heard of Java FX. (By the way, FX Script will not be developed further.) Also promised are a rewrite of the media stack, a new accelerated graphics stack called Prism that works outside the AWT, and a mechanism for rendering a scenegraph to HTML 5. All of this has been touted as “Swing 2.0”.
I am baffled by this, in particular, the timeline. We were told that it would take until mid-2012to deliver the originally planned Java SE 7. Fair enough, but how can Java FX 2.0, which seems at least as ambitious, come out so much more quickly? Someone still has to work out some pretty basic details, such as how bindingis going to be done in a Java API. Multimedia has not been a strong point of Java FX in the past; see for example this blog to get a feel for some of the issues. Prism sounds great, but it's not something for which I could find any public information. And I don't begin to understand the HTML 5 angle. Every time that I hear “rendering for multiple display technologies", I run for the hills. Remember Java FX Mobile? (By the way, that's now dead too.)
I very much want to see a modern client-side library for Java, and if Amy Fowler says that Swing isn't going to cut it, I'll look forward to Java FX 2.0. Provided, of course, it is available under GPL and, at least as of SE 8, a part of the platform. But I am not getting the warm and fuzzy feeling that this is going to happen without pain, or by 2011.
4. I was equally baffled by the mobile announcements. The quote that stuck in my mind was from Thomas Kurian: “I would not underestimate our capability [of] delivering a new Java platform [in this space]”.
Ok, count me among the under-estimators.
Yes, I get the point that there are 10x more feature phones than smart phones. I have one of them. But I am not running a single Java app on it. I wouldn't even know how to get one. (I tried once and was hit with some outrageous data charge—thanks, Verizon.)
A while ago, I used a Blackberry. It had a bunch of fine apps, but those weren't Java ME. Ok, not true. There was one Java ME app that I ran—a terminal emulator. Very mainstream...
Right now, I use an Android. It has a bunch of great apps, but they aren't Java ME either. In fact, I understand that Oracle has issues with that platform...
So, here is what I conclude, from my vantage point as the Sage of Saigon:
- Java SE 7 and 8 will be delivered pretty much as planned
- GlassFish and NetBeans will stay viable choices for developers, at least in the near term
- Something called Java FX 2.0 will materialize, but it will be late, not have all promised features, and not be Swing 2.0. Eventually some viable Swing replacement will emerge from the good parts. In the meantime, Swing will be left to wither on the vine, and it will be a challenging time for Java desktop developers until the dust settles.
- Java ME will continue to lag behind developer expectations
If I am wrong, I will really need to attend Java One 2011 to get a better reading of what is happening.