Skip to main content

Oracle and JavaFX: Should I Stay or Should I Go?

Posted by opinali on April 22, 2009 at 8:56 AM PDT

Most of Sun stuff will be very useful to Oracle. I can see a future where Oracle sells you a "complete solution" with Oracle Database and related products (Fusion etc.) running on top of the Solaris OS, Niagara or x64 hardware, a 7xx0 storage system, and also benefiting from virtualization tech from both Solaris and VirtualBox; having MySQL+InnoDB as an entry-level / community database as a strategy for upsell, etc. OpenOffice.org and ODF may contribute to some CMS product, or perhaps just to piss off Microsoft. ;-)

Even NetBeans's future is not guaranteed doom - I was initially worried about NB but thinking again, Oracle has yet to put major eggs in the ESF basket... sure they contributed some great stuff like EclipseLink, but where Oracle stands in the IDE wars? JDeveloper has yet to adopt any Eclipse runtime tech (even after daddy JBuilder did that), and JDeveloper is a total failure in the market anyway (except perhaps for consumers totally tied to Oracle products like Forms). SQL Developer seems to be more successful (I love it!), and although being much more recent product, they wrote it on top of the JDeveloper base and not Eclipse. Perhaps Oracle is not willing to put all their tooling strategy in the hands of IBM, which still controls 99% of the core Eclipse projects (the ESF brags a lot about open governance and community - but when some big, bluish corp walks away from a project, like the Visual Editor, the code sits there to rot without any community contributors picking it up). And as much as I love Eclipse, NetBeans kicks its arse in areas like Swing, Java ME, Web, learning curve, integration, and support for alternative languages which is now something very hot. The latest releases became competitive in the overall IDE functionality (code editor etc.), and the icing of the cake is that NetBeans is built on top of conventional Java frameworks (like Swing) so my wild guess is that Oracle could port whatever unique features of JDeveloper into NetBeans much easier than into Eclipse.

But now let's enter my real subject. What happens to JavaFX now? The acquisition happened in a very critical point in JavaFX's evolution. Its development is still moving very fast - version 1.0 was a good Developer Release, 1.1 is better but still for a limited niche, and 1.5 is just around the corner and it's the first release for "real world business apps" that need a decent component package (for one thing). Sun is also in a rush improving the deployment story (loading time etc.) with every update of both JavaFX and the JRE. But even if JavaFX has great potential, its actual adoption is still in early stages. It's not too late in the game for somebody at Oracle to see that JavaFX is not something they are interested, it's not yet a revenue stream, no big contracts to honor or customer base to please..., and just kill it. Making things worse, Sun has yet to make a full open source release of JavaFX, or a complete port for Linux (both essential to get some backing from the FOSS community) - so if Oracle kills it, it's dead all all one can do is move over to Flex or Silverlight (or back to the dark ages [IMHO] of Swing).

Having said that, some people believe that Oracle is the best thing that could happen to JavaFX. The reasoning is: Oracle is already a player in the desktop with their Oracle Forms, which current version supports Java Applets. Forms will obviously benefit from all recent enhancements from JDK 6u10+. But JavaFX could bring Forms to the next level, integrating RIA-class features. My ignorance of Forms is deep, but based on five minutes of research (looking at some sample code) it seems to be a high-level framework that mixes a little bit of Java with all sorts of Oracle stuff (PL/SQL and weird proprietary XML and binary resources), and supports rendering via both Java Applets and JSF with Oracle's ADF extensions. Perhaps the Applet model can be integrated to JavaFX without significant impact on the small bit of Java code that Forms apps seem to need. This scenario is possible, but to me it seems like wishful thinking - perhaps ADF is the primary forms target and they're planning to ditch the Applet model and either ignore the RIA trend or adopt something else (like Flash) because Oracle doesn't really want to be a innovator in a non-core business like front-ends.

The JIRA shows 40+ bugs fixed since April 20 so it seems that the acquisition news didn't impact the team yet. Sun is supposed to continue as an independent company until the acquisition is completed sometime this summer - hopefully the end of this summer or even later ;-) so I guess their brave hackers can keep pouring their souls and talent into their current projects, even with more passion if there is uncertainty about its future. Sun just bundled JavaFX with the JDK - great move, but that was certainly planned long before the buyout. My guess is that the more JavaFX advances in quality and adoption over the next months, the higher chance that the new landlords will want (or be forced) to keep it. But I'm worried that the pre-acquisition conditions will immediately tie Sun's hands in critical actions, for example to release any currently proprietary code under an open source license (it's very likely that a full open release of JavaFX was planned for JavaOne: Sun committed to such release and J1 is the perfect time to do that). Or to make major deals (e.g. with carriers and handset makers to push JavaFX Mobile) that would have to be honored by Oracle.

Let me then make a pledge to both Sun and Oracle: We need a clear direction and assurance of JavaFX's future. Why should I keep investing time and effort in a platform that Oracle may soon bury - or keep as a proprietary and commercial product, which would also lose me? I'm a JavaFX enthusiast; just finished to write a big 3-part series on JavaFX for the Brazilian Java Magazine. I hate to dump FUD here, but let's talk like grown men, my time is money and I'm halting my investment in JavaFX until I have some reason to believe that it won't be wasted.

Related Topics >>